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、分享学习心得【知识点的广度和深度,算法有哪些坑,如何准备面试等等】

全部评论

相关推荐

09-09 11:25
山东大学 Java
1、自我介绍2、挑一个项目来介绍一下3、Java&nbsp;的&nbsp;GC&nbsp;过程会有&nbsp;Stop&nbsp;the&nbsp;World,谈谈为什么要有&nbsp;STW&nbsp;的机制?4、谈谈&nbsp;Java&nbsp;的SGC、G1、ZGC&nbsp;垃圾回收器5、G1&nbsp;已经很不错了,为什么还要有&nbsp;ZGC&nbsp;这样的垃圾回收器,为了解决什么问题?6、比如一个订机票的场景,涉及多个外部系统,首先要去看有没有票,然后第二个是支付要调支付宝或者微信去做付款,定完票可能过了半个小时才告诉我订票有没有成功。对于这种场景下的分布式事务,你认为怎么去处理和设计来保证一致性比较好?7、基于消息传递的方案,消息可能传递失败,如何解决?8、如果用消息队列,这种场景,怎么做技术选型?9、做题:新兵报到,指导员命令所有人按身高大小,从低到高,依次站好,每次从头这边开始调整,但是要求,每次一次只能进行一次交换。输入&nbsp;N(N&nbsp;&amp;lt;=&nbsp;&nbsp;20),输出&nbsp;N&nbsp;个士兵最终的排列结果。示例:N&nbsp;=&nbsp;5,heights&nbsp;=&nbsp;[170,&nbsp;167,&nbsp;180,&nbsp;175,&nbsp;168],输出:[167,&nbsp;168,&nbsp;170,&nbsp;175,&nbsp;180]10、谈谈基于数据库的方式如何实现分布式锁?11、谈谈基于&nbsp;Redis&nbsp;如何实现分布式锁?12、为什么基于&nbsp;Redis&nbsp;实现分布式锁时,Set&nbsp;命令要加&nbsp;PX&nbsp;参数?13、基于数据库方式实现和基于&nbsp;Redis&nbsp;实现的区别?应用场景?14、反问
查看13道真题和解析
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

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