一道简单的把ArrayList中的正负数组分开并求得边界索引的题目

2022-11-21,,,,

给定一个List,里面存放的一组整数有正数和负数,要求把正数和负数分开,并得到正数和负数分割线索引(不要求排序,不能使用多层循环)

解答方法并不算太复杂,重点注意边界条件和极端条件(全是正或者全是负)

 /**
* 给定一个List,里面存放的一组整数有正数和负数,要求把正数和负数分开,并得到正数和负数分割线索引(不要求排序,不能使用多层循环)
*/
private void testLeft() {
ArrayList<Integer> list = new ArrayList<Integer>();
// for(int i = 0;i < 200;i++){
list.add(1);
list.add(-5);
list.add(33);
list.add(-21);
list.add(12);
list.add(-9);
list.add(-999);
//// }
// list.add(-5);
// list.add(-5);
// list.add(-5);
// list.add(-5);
// list.add(-5);
// list.add(-5);
// list.add(-5);
int len = list.size();
Log.i("xinye", "#######移动前:" + list);
int index = 0;
for(int i = 0;i < len;i++){
if(i != 0){
if(i == len - 1){
if(list.get(i) < 0){
index++;
}
}else{
if(list.get(i) < 0){
list.add(0, list.get(i));
// 注意set和remove的时候的索引值
list.set(i + 1, list.get(list.size() - 1));
list.remove(list.size() - 1);
index++;
}
}
}else{
if(list.get(i) < 0){
index++;
}
}
}
Log.i("xinye", "#######移动后:" + list);
Log.i("xinye", "#######索引:" + index); }

一道简单的把ArrayList中的正负数组分开并求得边界索引的题目的相关教程结束。

《一道简单的把ArrayList中的正负数组分开并求得边界索引的题目.doc》

下载本文的Word格式文档,以方便收藏与打印。