小红书笔试

1.常规DP
public int pathSum(int[][] array) {
        int[][] dp = new int[array.length][array[0].length];
        for (int i = 0;i < array[0].length;i++) {
            dp[0][i] = array[0][i];
        }

        for(int i = 1;i < array.length;i++) {
            for(int j = 0;j < array[0].length;j++) {
                dp[i][j] = dp[i - 1][j];
                if(j > 0) {
                    dp[i][j] = Math.max(dp[i][j],dp[i - 1][j - 1]);
                }
                if(j != array[0].length - 1) {
                    dp[i][j] = Math.max(dp[i][j],dp[i - 1][j + 1]);
                }
                dp[i][j] += array[i][j];
            }
        }
        int ans = 0;
        for(int i = 0;i < array[0].length;i++) {
            ans = Math.max(ans,dp[array.length - 1][i]);
        }
        return ans;
    }
2.二分
public static void main(String[] args) {
        int N = 0;
        int k = 0;
        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();
        k = sc.nextInt();
        int[] nums = new int[N];
        for(int i = 0;i < N;i++) {
            nums[i] = sc.nextInt();
        }
        Arrays.sort(nums);
        int left = 0;
        int right = nums[nums.length - 1] - nums[0];
        while(left < right) {
            int mid = (left + right + 1) >> 1;
            if(check(nums,k,mid)) {
                left = mid;
            }else {
                right = mid - 1;
            }
        }
        System.out.println(left);
    }

    private static boolean check(int[] nums, int k, int mid) {
        int res = 1;
        int last = nums[0];
        for(int i = 1;i < nums.length;i++) {
            if(nums[i] - last >= mid) {
                res++;
                last = nums[i];
            }
        }
        return res >= k;
    }



#小红书笔试##笔试题目#
全部评论
请问可以切换到自己电脑的本地IDE吗
点赞 回复 分享
发布于 2023-04-07 21:36 辽宁
前端的题简单得有点离谱
点赞 回复 分享
发布于 2022-03-28 12:43
大佬 第二题可以讲下思路吗
点赞 回复 分享
发布于 2022-03-28 00:22

相关推荐

06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在午休:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
点赞 评论 收藏
分享
评论
6
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务