遇到解决不了的困难了,希望大家来指点

snakec0047 2015-04-27 03:10:01

代码是有问题,而且可能行不通,只是想通过代码表达一下需求.就是一个list(如果需要可以改变容器类型)里面有一些元素,如代码中的,必须是倒序排列(这个很重要,因为要比较大小),然后就开始判断,如果price这个变量比list中最后一个,也就是最小的一个元素大,那么循环遍历,碰到<=price的就减去,同时把这个被减的元素添加到另一个容器tmp中,然后从list中删除,之后再次判断是否还>=list中最小的元素....
这个需求,我觉得很难写,问题主要出在删除那里,还望大神指点
...全文
115 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chengyajie521 2015-04-27
  • 打赏
  • 举报
回复
外层while循环没必要吧,第二次循环应该是成立不了的,如果内循环第一次是在list[i]处结束,说明i后面的元素都是大于现有price的,而i之前的元素更是大于price的,对吧,所以现在问题就是一个贪心问题去用list中的内容的和去逼近price.用这种思路好写了吧
tony4geek 2015-04-27
  • 打赏
  • 举报
回复
都接贴了。。
snakec0047 2015-04-27
  • 打赏
  • 举报
回复
引用 4 楼 u013032887 的回复:
你不能用for循环来删除,这样肯定会报错,因为你删除一个之后集合的下标就变了,再去循环的时候就找不到那个下标了,所以会报错,你要用迭代器来进行循环并删除就不会报错了,你试试。
我把数据装到一个map里面,然后删除,问题就解决了
Jinggg_ 2015-04-27
  • 打赏
  • 举报
回复
你不能用for循环来删除,这样肯定会报错,因为你删除一个之后集合的下标就变了,再去循环的时候就找不到那个下标了,所以会报错,你要用迭代器来进行循环并删除就不会报错了,你试试。
tony4geek 2015-04-27
  • 打赏
  • 举报
回复
点击代码, 然后代码拷贝进来啊。
snakec0047 2015-04-27
  • 打赏
  • 举报
回复
引用 1 楼 rui888 的回复:
以后贴代码,不要贴图。
好,怎么贴代码
tony4geek 2015-04-27
  • 打赏
  • 举报
回复
以后贴代码,不要贴图。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧