牛客巅峰赛S2青铜白银组 第一场

最小差值

https://ac.nowcoder.com/acm/contest/9004/A

思路:先排序,维护全局最小差,遍历排序后的数组更新最小差。
import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 求最小差值
     * @param a int整型一维数组 数组a
     * @return int整型
     */
    public int minDifference (int[] a) {
        // write code here
        Arrays.sort(a);
        int res = 0x7fffffff;
        for(int i = 0; i < a.length - 1; ++i){
            res = Math.min(a[i + 1] - a[i], res);
        }
        return res;
    }
}

思路: 逐层等差数列求和,注意整数越界的问题。
import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param n long长整型 表示标准完全二叉树的结点个数
     * @return long长整型
     */
    public long tree4 (long n) {
        // write code here
        if(n <= 0){return 0;}
        long res = 0, i = 1, layer = 1;
        while(i <= n){
            if((i << 1) - 1 <= n){
                res = (res + (layer * (3 * i - 1) * i / 2)) % 998244353;
                i <<= 1;
            }else{
                for(; i <= n;++i){
                    res = (res + i * layer) % 998244353;
                }
            }
            ++layer;
        }
        return res;
    }
}

第三题:字符串加法  https://ac.nowcoder.com/acm/contest/9004/C
import java.util.*;
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 返回最大和的字符串
     * @param x string字符串 即题目描述中所给字符串
     * @param k int整型 即题目描述中所给的k
     * @return string字符串
     */
    public String Maxsumforknumers (String x, int k) {
        // write code here
        char[] arr = x.toCharArray();
        int len = arr.length;
        Arrays.sort(arr);
        String newX = new String(arr);
        String temp = newX.substring(k - 1, len);
        int carry = 0;
        for(int i = 0; i < k - 1; ++i){
            carry += arr[i] - '0';
        }
        char[] charRes = temp.toCharArray();
        int maxLen = charRes.length;
        for(int i = 0; i < maxLen && carry > 0; ++i){
            int digit = carry + charRes[i] - '0';
            carry = digit / 10;
            charRes[i] = (char)(digit % 10 + '0');
        }
        StringBuilder sb = new StringBuilder(new String(charRes));
        while(carry > 0){
            sb.append((char)(carry % 10 + '0'));
            carry /= 10;
        }
        return sb.reverse().toString();
    }
}



全部评论

相关推荐

头像
11-27 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗?&nbsp;刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
正在热议
# 25届秋招总结 #
442240次浏览 4509人参与
# 春招别灰心,我们一人来一句鼓励 #
41913次浏览 531人参与
# 北方华创开奖 #
107423次浏览 599人参与
# 地方国企笔面经互助 #
7961次浏览 18人参与
# 同bg的你秋招战况如何? #
76585次浏览 561人参与
# 虾皮求职进展汇总 #
115499次浏览 886人参与
# 阿里云管培生offer #
120215次浏览 2219人参与
# 实习,投递多份简历没人回复怎么办 #
2454609次浏览 34856人参与
# 实习必须要去大厂吗? #
55761次浏览 961人参与
# 提前批简历挂麻了怎么办 #
149889次浏览 1977人参与
# 投递实习岗位前的准备 #
1195913次浏览 18548人参与
# 你投递的公司有几家约面了? #
33203次浏览 188人参与
# 双非本科求职如何逆袭 #
662189次浏览 7394人参与
# 如果公司给你放一天假,你会怎么度过? #
4751次浏览 55人参与
# 机械人春招想让哪家公司来捞你? #
157622次浏览 2267人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11535次浏览 284人参与
# 发工资后,你做的第一件事是什么 #
12682次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35793次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20120次浏览 240人参与
# 我的上岸简历长这样 #
452000次浏览 8088人参与
# 实习想申请秋招offer,能不能argue薪资 #
39289次浏览 314人参与
# 非技术岗是怎么找实习的 #
155866次浏览 2120人参与
牛客网
牛客企业服务