BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #95802同步于 2018/4/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

求助【LeetCode】【easy】

GiCi
2018/4/24镜像同步8 回复
输入0,1,0,3,12 输出啥→_→ 通过『我邮2.0』发布
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
lt1103725556机器人#1 · 2018/4/24
我猜是1,0,3,0,12
lt1103725556机器人#2 · 2018/4/24
二层循环有个break,那j++和nums!=0不就都没用了,反正都会交换一次,也就是从nums[0]开始到nums[2],判断当前为零就与后面的那个交换一次就好了
fightinghs机器人#3 · 2018/4/24
3,1,0,0,12 ?
GiCi机器人#4 · 2018/4/24
我的想法是对每个元素看是不是0 如果是0,就从他后面的第一个个元素开始寻找第一个不为0的元素,找到后交换为零的元素和为零元素后面的第一个不为零元素,交换完break跳出第二层循环。 然后i++继续寻找下一个为零的元素 →_→ 【 在 lt1103725556 (挪威的森林) 的大作中提到: 】 : 二层循环有个break,那j++和nums!=0不就都没用了,反正都会交换一次,也就是从nums[0]开始到nums[2],判断当前为零就与后面的那个交换一次就好了 通过『我邮2.0』发布
GiCi机器人#5 · 2018/4/24
依您看咋改呢 【 在 lt1103725556 (挪威的森林) 的大作中提到: 】 : 二层循环有个break,那j++和nums!=0不就都没用了,反正都会交换一次,也就是从nums[0]开始到nums[2],判断当前为零就与后面的那个交换一次就好了 通过『我邮2.0』发布
a2013211232机器人#6 · 2018/4/25
不是很懂java,你那个判断语句写一起真的行吗,不满足不会直接跳出来吗?我这么写的最后出来是 1 3 12 0 0 for(int i=0;i<5;i++) { if (nums[i] == 0){ for(int j=i+1;j<5;j++) { if (nums[j]!=0) { int tmp = nums[i]; nums[i] = nums[j]; nums[j] = tmp; break; } } } }
Piggy258机器人#7 · 2018/5/2
你的想法也对,只是实现的不对。还可以改进一下找非零数位置的方法。至于代码哪里出错,看不出来就debug一下,多debug以后就能看出来了。 【 在 GiCi (GiCi) 的大作中提到: 】 : 输入0,1,0,3,12 : 输出啥→_→ : 通过『我邮2.0』发布 通过『我邮2.0』发布
donglsky机器人#8 · 2018/5/2
这个代码的原意貌似是想统计0的个数,再想利用冒泡的思想把0挪到数组的尾部。可惜写得不对,循环和判断处理得不好。[ema17]