+ -
当前位置:首页 → 问答吧 → 有100万个数字,数字0-9组合10个数字其中只有一个数字重复2次,如何快速找出该数字

有100万个数字,数字0-9组合10个数字其中只有一个数字重复2次,如何快速找出该数字

时间:2011-11-29

来源:互联网

总想不明为什么那么多人来循环做这道题!

100万个数字啊 能循环死人~~!

个人有两个想法来解决这个问题:

一:把数字转化成字符串处理
split来分隔数组 然后得到数组的长度 如果有一个数组的长度是3,那么那个数字就是出现两次的数字了。

//如果是字符串
String test="1233456788921314";
String rtest [] = test.split("1");
  String rtest [] = test.split("2");
只需要分隔十次就可以了。

二,还是把数字当做字符串来处理。
用replace函数来做
用replace吧,replace(数字,‘’)
记录上一次replace的长度多少 然后本次替换后计算 那么也少于十次的计算。

总结: 此题 目标明确 就找到出现两次的数字,而且数字只有0-9。条件明确,编码不是问题~~!

欢迎童鞋拍砖~~~!

作者: zhangshan5588   发布时间: 2011-11-29

LZ试过100万次分割后的下场是什么吗~~
split本身就要遍历字符串

作者: creso   发布时间: 2011-11-29

没看懂LZ的题目。。。。。

作者: yanpinwen   发布时间: 2011-11-29

有100万个数字,数字0-9组合10个数字

我的语文是数学老师教的,没看明白是只个数字

作者: Inhibitory   发布时间: 2011-11-29

split也要循环的好不好,
split长度1,000,000 的字符串显然比for循环1000000次时间花得还多
更何况你搞出的字符串长度有10,000,000了吧

作者: funfenffun   发布时间: 2011-11-29