24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 3198  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

btx97

金虫 (小有名气)

[求助] 如何辨别数组中的重复元素及其重复次数

我想从一个数组中得出其不重复的元素并给出重复元素的重复次数。 想不到好的办法。来这里请教下,希望知道的或则编过这样的虫友指教下。

问题出自,数值解一元多次方程后对重根情况的后续处理,元素是复数。希望程序简单,有效。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2012-06-15 09:16:04
python可以用一个dict保存
Python 2.7.2 (default, Jun 12 2011, 15:08:59)  on win32
Type "copyright", "credits" or "license()" for more information.
>>> s =
...

fortran里有没有这么方便的啊?
3楼2012-06-15 20:38:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
btx97: 金币+2, ★★★很有帮助, 数值计算中不重复但相近的数值有时会被当作相同的值,所以c++这部分可能不好用。:> 2012-06-15 20:53:34
python可以用一个dict保存
CODE:
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> s = ['a','b','b','c','c','c']
>>> d = [s.count(x) for x in set(s)]
>>> d
[1, 3, 2]
>>> d = {}
>>> for x in s:
        if not x in d.keys():
                d[x] = 1
        else:
                d[x] += 1

               
>>> d
{'a': 1, 'c': 3, 'b': 2}
>>>

如果是c++,一样的思想,因为map(类似于python的dict)要求key必须唯一,所以可以用来检测重复元素
CODE:
int n = 6;
        char s[] = {'a','b','b','c','c','c'};
        map d;
        for (int i=0;i         {
                if (d.find(s[i])==d.end()) d.insert(make_pair(s[i],1));
                else d[s[i]]++;
        }

        map ::iterator it;
        for (it=d.begin();it!=d.end();it++)
        {
                cout << (*it).first << ": " << (*it).second << endl;
        }

测试结果:
CODE:
'a': 1
'b': 2
'c': 3

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2012-06-15 16:16:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★
jjdg: 金币+1, 感谢参与 2012-06-16 22:01:14
btx97: 金币+8, ★★★很有帮助, 没人来讲Fortran。 是不是Fortran用的人太少了哦! 2012-06-30 15:58:41
引用回帖:
3楼: Originally posted by btx97 at 2012-06-15 20:38:06
fortran里有没有这么方便的啊?...

python的dict和c++的map只是提供了一个简单的数据结构
你可以按照人工找重的步骤写个函数实现,数值问题定义个一个epsilon来解决
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-06-16 19:32:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

继续求Fortran的方法,高手帮忙啊
5楼2012-06-18 05:46:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求助调剂,跨调 +18 X十甫寸Y 2026-04-11 19/950 2026-04-14 19:26 by Art1977
[考研] 考研求调剂 +6 ban班小七 2026-04-11 6/300 2026-04-14 14:06 by 哆啦A梦只是个梦
[考研] 生物学调剂 +11 小冉要努力 2026-04-10 13/650 2026-04-13 11:46 by 电化学及催化
[考研] 0854调剂 +10 长弓傲 2026-04-11 11/550 2026-04-13 10:38 by wp06
[考研] 344 材料专业 求调剂211 无地域要求 +8 hualkop 2026-04-11 8/400 2026-04-12 22:24 by fqwang
[考研] 296求调剂 +14 汪!?! 2026-04-10 16/800 2026-04-12 10:48 by zhouyuwinner
[考研] 求调剂,一志愿材料科学与工程985,365分, +8 材化李可 2026-04-11 10/500 2026-04-12 08:42 by 852137818
[考研] 280求调剂 +13 wzzz王 2026-04-09 13/650 2026-04-12 00:31 by 勇攀高峰0126
[考研] 材料工程日语考生求调剂 +7 0856?调剂 2026-04-10 7/350 2026-04-11 21:33 by 蓝云思雨
[考研] 求调剂 +6 电气300求调剂不 2026-04-08 6/300 2026-04-11 20:14 by 逆水乘风
[考研] 求调剂 +11 翩翩一书生 2026-04-09 11/550 2026-04-11 19:57 by 逆水乘风
[考研] 调剂求助 +6 果然有我 2026-04-11 7/350 2026-04-11 16:22 by 明月此时有
[考研] 296求调剂 +6 汪!?! 2026-04-09 6/300 2026-04-11 11:25 by zhq0425
[考研] 275求调剂 +9 1624447980 2026-04-08 10/500 2026-04-11 10:20 by Delta2012
[考研] 346,工科求调剂 +3 moser233 2026-04-09 3/150 2026-04-11 10:04 by zhq0425
[考研] 281求调剂 +11 觉得好的吧 2026-04-10 11/550 2026-04-11 09:35 by 逆水乘风
[考研] 化学工程与技术324调剂 +23 孙常华 2026-04-09 25/1250 2026-04-11 00:07 by 骑牛渡寒江
[考研] 296求调剂 +6 汪!?! 2026-04-08 6/300 2026-04-10 11:02 by mattzhming
[考研] 314求调剂 +14 weltZeng 2026-04-09 14/700 2026-04-09 23:14 by wolf97
[考研] 286求调剂 +19 Faune 2026-04-08 20/1000 2026-04-09 08:36 by 哦哦123
信息提示
请填处理意见