社区
Web 开发
帖子详情
输出数组中重复记录的下标
lirihong
2009-03-24 12:59:57
今天小弟去了一家面试,出了这么一道编程题,想了好长时间没有什么好的方法去实现,请哪位指点一下!谢谢!
现有一个长度为50的一个数组,要求将数组中重复数据10次以上的记录的数组下标打印在控制台上!
例如:控制台上输出:重复数据A:1,2,4,6,7,12,14,16,25,28,36,38,45,48
请高手解答!
...全文
350
10
打赏
收藏
输出数组中重复记录的下标
今天小弟去了一家面试,出了这么一道编程题,想了好长时间没有什么好的方法去实现,请哪位指点一下!谢谢! 现有一个长度为50的一个数组,要求将数组中重复数据10次以上的记录的数组下标打印在控制台上! 例如:控制台上输出:重复数据A:1,2,4,6,7,12,14,16,25,28,36,38,45,48 请高手解答!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hoojo
2009-03-24
打赏
举报
回复
[Quote=引用 8 楼 Arc365 的回复:]
for( int i=0;i <array.length;i++){
if(!map.contains(array[i]){
map.put(array[i],String.valueOf(i));
}else{
String str=(String)map.get(array[i]);
str=str+","+String.valueOf(i);
}
}
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String str=(String)map.get(it.next);
String arr[]=str.split(",");
if(arr.length>10){
//打印出下标
}
}
[/Quote]
赞成
lirihong
2009-03-24
打赏
举报
回复
哪位前辈还有什么方法??指点一下!
Arc365
2009-03-24
打赏
举报
回复
for( int i=0;i<array.length;i++){
if(!map.contains(array[i]){
map.put(array[i],String.valueOf(i));
}else{
String str=(String)map.get(array[i]);
str=str+","+String.valueOf(i);
}
}
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String str=(String)map.get(it.next);
String arr[]=str.split(",");
if(arr.length>10){
//打印出下标
}
}
sjkof
2009-03-24
打赏
举报
回复
[Quote=引用 5 楼 lirihong 的回复:]
这个数组不是int[] 有可能是string[] 所以不能排序
[/Quote]
string也可以比大小,但是排序的时间复杂度有O(nlgn),比遍历O(n)大好多呢
lirihong
2009-03-24
打赏
举报
回复
最好谁能给一个代码!谢谢
lirihong
2009-03-24
打赏
举报
回复
这个数组不是int[] 有可能是string[] 所以不能排序
lookupwtd
2009-03-24
打赏
举报
回复
1,将数组copy给副本
2,对副本排序
3,循环查找连续出现5次的数
4,如果出现5次的数,判断后面紧接着的5位数是否跟3步查找出来的数相同,若相同做好标记
5,跟据查出的数在数组的原型中输出对应的下标
niuxinlong
2009-03-24
打赏
举报
回复
先讲数组赋值给一个新数组,然后对新数组进行操作。
先得到第一个数组的值,并将第一个元素移除出数组
以得到的第一个元素为标准开始遍历,有跟它重复的计数器加1(计数器初始值为1),将重复的数据移除出数组,如果计数器大于活等于10,讲其存放到一个自定的地方(如list中),依次遍历
最后根据list中的元素值到原数组中查找下标并将其打印到控制台,
lz可以试试,
lirihong
2009-03-24
打赏
举报
回复
不太清楚你所说的遍历一次是怎么去遍历?
vinep
2009-03-24
打赏
举报
回复
先把数组遍历一次,把重复10次以上的字符找出来。
然后再遍历一次,将找到字符的位置输出。
JS 获取数组元素相同的
下标
当haveSame 为 true 时,将重复元素存储在 list 中,同时
输出
数组
下标
为 index 的元素相同。 注意:这里需要一个重复元素的数组与原数组的对比,判断某元素是否已经对比了。 function searchKeys(arr){ var str ...
数组中
重复次数最多的数
题目:如何找出
数组中
重复次数最多的数。 方法一:以空间换时间,即hash法。...最后在count
数组中
找到最大的数,该数在count
数组中
对应的
下标
,即为array
数组中
重复次数最多的数。具体实现如下:#include <iostr
3.
数组中
重复的数字
数组中
重复的数字解法一:建立一个新数组打卡标记解法二:移动元素让
下标
和值相对应解法三:将数组排序,判断相邻两个数是否相等解法四:利用HashSet记录,出现重复数字时立马返回结果即可第三题的扩展题:不修改...
算法学习1之找出
数组中
重复的数字
找出
数组中
重复的数字 在一个长度为n的数组里的所有数字都在0到n-1的范围内。
数组中
某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出
数组中
任意一个重复的数字。 例如,如果输入...
[剑指offer](C语言)03.
数组中
重复的数字
写在前面:C语言还未入门,考虑问题还不全面,纯为记录自己学习这本书的过程 题目简介:
数组中
重复的数字 ...新建一个与输入数组等长的数组a并将其元素初始化为0,元素含义:记录每个
下标
在原
数组中
出现的次数
Web 开发
81,094
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章