给定一个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); }

最新文章

  1. web前端基础知识-(四)DOM
  2. 写了cookie阻止通过输入地址直接访问下一个html,但是直接输入地址访问时,会闪一下下一个页面,怎么回事啊????、
  3. javase基础笔记4——异常/单例和类集框架
  4. iOS图片攻略之:有3x自动生成2x 1x图片
  5. C#.net在后台执行javascript
  6. python 统计单词个数
  7. java20 创建服务器:ServerSocket
  8. [Unity3D]Unity3D游戏开发之鼠标滚轮实现放大缩小
  9. [转载]VMWare网络连接透析
  10. 软件源(Software Sources)
  11. hdu1114(完全背包)
  12. ThinkPHP创建应用的一般开发流程
  13. 6、ABPZero系列教程之拼多多卖家工具 框架后台的设置
  14. IOS开发之XCode学习011:UISwitch控件
  15. python之路day08--文件的操作
  16. 【面试篇】资深招聘HR有哪些面试技巧?
  17. ubuntu-14.04安装最新tensorflow记录
  18. 六. Redis发布订阅机制
  19. Linux终端命令
  20. Haproxy全透明代理

热门文章

  1. hbase源码系列(二)HTable 探秘
  2. Redis源码研究—基础知识
  3. PCL采样一致性算法
  4. Flutter 1.0 正式版: Google 的便携 UI 工具包
  5. Android学习之ListView使用基础
  6. linux中怎么查看ip地址
  7. Playing FPS Games with Deep Reinforcement Learning
  8. http代理和SOCKS5代理的区别
  9. 第三百二十六节,web爬虫,scrapy模块,解决重复ur——自动递归url
  10. vi 命令集