Java算法--小红书真题

第一道题

数组里有0和1、一定要翻转一个区间、

“翻转”:0变1,1变0

请问翻转后可以使得1的个数最多是多少?

    //子数组最大累加和
    public static int process(int[] array) {
        for(int i = 0; i < array.length; i ++) {
            array[i] = array[i] == 1 ? -1 : 1;
        }

        int pre = array[0];
        int result = array[0];
        for(int i = 1; i < array.length; i ++) {
            pre = Math.max(array[i], pre + array[i]);
            result = Math.max(result, pre);
        }
        return result;
    }

第二道题

一个无序数组长度为n,所有数字都不一样,

并且值都在[0........n-1]范围上

返回让这个无序数组变成有序数组的最小交换次数

public static int process(int[] array) {

        int result = 0;

        for(int i = 0; i < array.length; i ++) {
            while(array[i] != i) {
                swap(array, array[i], i);
                result ++;
            }
        }
        return result;
    }

    public static vo

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

八股文+场景题+算法真题 文章被收录于专栏

Java全新整理八股文 + 场景题 + 算法 精心设计,面试命中率超过80% 专栏优势: 1、问题和答案已经整理到位,答案更专业,可以直接回答,不需要额外总结! 2、场景题讲解清晰,适用于大部分场景的项目,并且持续更新中 3、分享学习心得【知识点的广度和深度,算法有哪些坑,如何准备面试等等】

全部评论

相关推荐

02-08 20:56
已编辑
南京工业大学 Java
在等offer的比尔很洒脱:我也是在实习,项目先不说,感觉有点点小熟悉,但是我有点疑问,这第一个实习,公司真的让实习生去部署搭建和引入mq之类的吗,是不是有点过于信任了,我实习过的两个公司都是人家正式早搭好了,根本摸不到部署搭建的
点赞 评论 收藏
分享
人生一梦:24年我投暑期实习,它以我不是女的为理由拒绝了我查看图片
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

更多
牛客网
牛客企业服务