24小时热门版块排行榜    

查看: 3322  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 范进中举一文的中心思想 +4 炎黄贵胄 2026-08-22 5/250 2026-08-24 02:09 by 流流伤
[基金申请] 2026国自然函评费到账 +16 羊腰板 2026-08-21 17/850 2026-08-23 23:02 by tianxiaochun
[基金申请] 让我中一个面上吧! +12 大萍1987 2026-08-20 15/750 2026-08-23 20:44 by 大萍1987
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 什么时候开奖? +9 CrisMessi 2026-08-18 10/500 2026-08-23 12:03 by 丶昵称占用
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见