题解 | #最长无重复子数组#

最长无重复子数组

https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4

选择了比较简单的方法

对数组进行for循环。

遍历到某个元素,对往后的元素进行第二次for循环。每次遍历把元素存在map中,并且记录当前二次循环的次数,当识别到当前遍历的元素再map中已存在时则退出。最后判断当前二次循环的次数是否是 以往遍历中最大的。如果是则替换resultSize

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (int[] arr) {
        int resultSize =0;
        for(int i=0;i<arr.length;i++){
            Map<Integer,Integer> map = new HashMap<Integer,Integer>(); 
            int size =0;
            for(int j= i;j<arr.length;j++){
                if(map.containsKey(arr[j])){
                    break;
                }
                else{
                    size++;
                    map.put(arr[j],1);
                }
            }
            if(size>resultSize){
            resultSize = size;
            }
        }
        
        return resultSize;
    }
}

全部评论

相关推荐

06-23 18:25
沈阳大学 Java
HR已读不回,是我说话方式不对吗?
大白之主:你是串子吗? hr: 我们不招人了,把岗位挂着boss只是因为我闲得慌
点赞 评论 收藏
分享
醉蟀:你不干有的是人干
点赞 评论 收藏
分享
05-09 12:23
已编辑
华南理工大学 Java
野猪不是猪🐗:给他装的,双九+有实习的能看的上这种厂我直接吃⑨✌们拿它练练面试愣是给他整出幻觉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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