首页 > 其他分享 >最长无重复子数组

最长无重复子数组

时间:2022-11-13 11:56:04浏览次数:43  
标签:map arr return int max 重复子 数组 最长

最长无重复子数组

 

import java.util.*;

public class Solution {     /**      *       * @param arr int整型一维数组 the array      * @return int整型      */     public int maxLength (int[] arr) {         // write code here         //最大长度为max,初始化为0         //从数组第0个开始,贪吃,直到有重复元素,和max比较,如果大于max,把这个数组的长度赋予max         //判断字符串是否有重复元素,遍历字符串放入map,map的key的长度和字符串的长度不一致,则说明有重复元素
        if(arr.length==0){             return 0;         }         if(arr.length==1){             return 1;         }         int max = 1;         List<Integer> ls = new ArrayList<Integer>();         Map<Integer,Integer> map = new HashMap<Integer,Integer>();         for(int i=0; i<arr.length; i++){             ls.clear();             map.clear();             ls.add(arr[i]);             map.put(arr[i],i);             for(int j=i+1; j<arr.length; j++){                 if(map.containsKey(arr[j])){                     if(map.size()>max){                         max = map.size();                     }                     break;                 }                 ls.add(arr[j]);                 map.put(arr[j],j);                                  if(j==arr.length-1){                     if(map.size()>max){                         max = map.size();                     }                 }             }
        }
        return max;
    } }

 

标签:map,arr,return,int,max,重复子,数组,最长
From: https://www.cnblogs.com/northli/p/16885694.html

相关文章

  • spring set-数组注入
    还是举例说明:QianDaye类publicclassQianDaYe{privateString[]aiHaos;//多个女性朋友privateWoman[]womens;publicvoidsetAiHaos(Strin......
  • 2022NOIP A层联测26 乘筛积 放进去 最长路径 生成树的传说
    T1[转化枚举角度]给出长度是n的a序列,和长度是m的b序列,给出Q组询问\([p,q]\),求\(\sum_{p*i+q*j=C}^{}ai*bj\)。(n,m,C,q<=3e5)考场上来想枚举,对于\(max(p,q)>=\sqrt{C}\),......
  • 4.numpy数组的构造和属性
    1.numpy数组用列表直接创建importnumpyasnpage=[15,16,18]#创建列表,后面赋值列表array3=np.array(age,dtype=np.float64)#用自带的np......
  • 3.numpy数组的基本概念
    一.创建Array使用np.array()由pythonlist创建C          数组的概念:数据类型一致的一个连续的内存空间pythonlist    列表(C语言说:列......
  • Python3.8多进程共享内存之Numpy数组
    在利用python处理数据的时候,想要充分发挥CPU的算力,可以选择利用多进程来实现。如果子进程内存占用较大的话,往往很难多开进程,如果不涉及对内存的写入操作,那么多个子进程共享......
  • java——数组02
                                                        ......
  • 20. 数组去重方法
    1.使用ES6新增的set方法 2.双重for循环 3. sort排序后去重functionfn(arr){letnewArr=[]arr.sort((a,b)=>{returna-b})arr.f......
  • java——数组01
                                                        ......
  • 合并两个有序的数组
     import java.util.*;public class Solution {    public void merge(int A[], int m, int B[], int n) {        //新建数组C,比较数组A......
  • 构造数组
    构造数组请你构造一个长度为$n$的正整数数组$a_1,a_2,\ldots,a_n$。我们会给出一个长度为$n−1$的由$<$、$>$、$=$组成的字符串$s_1s_2\ldotss_{n−1}$用于......