首页 > 编程知识 正文

for循环给数组赋值,java判断数组元素是否重复

时间:2023-05-03 13:59:44 阅读:11715 作者:3839

package com.hdx.test;

import java.util.ArrayList;

import java.util.List;

公共课堂连墟{

publicstaticvoidmain (字符串[ ] args ) {

int [ ] arr=new int [ ] { 1,2,5,6,8,8,8,9,9,9,3,4,4 };

int [ ] arr1=new int [ ] { 1,2,3,4,5,6,1,9 };

int [ ] arr2=new int [ ] { 2,3,9 };

//system.out.println (is series (arr,1,10 ).toString ) );

//system.out.println (is series (arr 1,1,15 ).toString ) );

//system.out.println (is repeat (arr ).toString ) );

system.out.println (is series (arr 2,2,15 ).toString ) );

}

//*

获取数组中的重复项

* @param num

* @return

*/

私有身份列表repeat (int [ ] num )。

List r=new ArrayList (;

//循环数组中的所有数据

for(intI=0; i num.length; I ) {

if(Inum.Length-1 ) {

if(num[I]==num[I1] ) {

//当数据处于循环恢复时

r.add(num[I];

}

}

}

返回r;

}

//*

获取数组中央的连续项

* @param num目标数组

* @param start数组的开始条目

* @param end数组的结尾

* @return

*/

私有状态列表(int [ ] num,int start,int end ) {

List r=new ArrayList (;

//循环数组中的所有数据

for(intI=0; i num.length; I ) {

//判断是否来到数组的末尾

if(Inum.Length-1 ) {

//消除重复数据时

//数据不连续时

if(num[I]1!=num[i 1] ) {

//当数据处于循环恢复时

if(num[I1]-num[I]0) {

//判断最后的数字是否是最大的开始数字start

int cha=end - num[i];

for(intj=1; j=cha; j ) {

r.add(num[I]1*j );

}

//判断刚开始的数字是否为end

int cha1=num[i 1] - start;

for(intj=0; j cha1; j ) {

r .添加(开始1 * j );

}

} else {

//处理不连续、也不是开头和结尾的情况

int cha=num[i 1] - num[i];

for(intj=1; j cha; j ) {

r.add(num[I]1*j );

}

}

}

}

}

返回r;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。