寄托天下 寄托天下
查看: 2042|回复: 7

[编程天地] 求指教 [复制链接]

Rank: 4

声望
24
寄托币
758
注册时间
2007-6-15
精华
1
帖子
24
发表于 2011-4-5 05:40:13 |显示全部楼层
本帖最后由 caoyi132 于 2011-4-5 06:38 编辑

现有一个数组a1,比方说里面有元素a1={0,0,1,1,1,2,2,3,3,3}, 要把a1里面的元素取出来放在另一个数组a2里面,重复的元素算一次,所以a2最后的结果应该是{0,1,2,3}。应该是一个简单的程序(C++),望指教。谢谢。

a1[0]=a3[0];

for(i=1;i<9;i++)
{   int flag=0;
     for(k=0;(k<j+1)&&(flag==0);k++)
           {
                if(a1==a3[k]){flag=1;}
            }

     if(flag==0)
           {j++;
             a3[j]=a1;
            }

}
  还是不行啊???
回应

使用道具 举报

Rank: 11Rank: 11Rank: 11Rank: 11

声望
3110
寄托币
48275
注册时间
2003-9-1
精华
44
帖子
1795

荣誉版主 GRE斩浪之魂 Golden Apple

发表于 2011-4-5 08:43:19 |显示全部楼层
for(k=0;(k<j+1)&&(flag==0);k++)
          {
                if(a1[i]==a3[k]){flag=1;}  //是a1[i],不是a1
            }
     if(flag==0)
           {j++;
             a3[j]=a1[i]; //是a1[i],不是a1
            }

使用道具 举报

Rank: 4

声望
24
寄托币
758
注册时间
2007-6-15
精华
1
帖子
24
发表于 2011-4-5 09:17:55 |显示全部楼层
2# DriverEntry
:handshake  上次用一个函数igraph_destroy,被写成了igraph_destory。找了大半天,没看出来,去问老师,后来那个汗啊。。。

使用道具 举报

Rank: 3Rank: 3

声望
0
寄托币
190
注册时间
2009-9-4
精华
0
帖子
0
发表于 2011-4-5 11:57:00 |显示全部楼层
有点 C 的风格 哈哈
程序也不是很经典 呵呵
虽然很短一个程序可有很多可改进的

使用道具 举报

Rank: 3Rank: 3

声望
1
寄托币
723
注册时间
2010-8-23
精华
0
帖子
1
发表于 2011-4-5 12:07:11 |显示全部楼层
表示完全不懂c++
为毛有两个loop??

使用道具 举报

Rank: 11Rank: 11Rank: 11Rank: 11

声望
3110
寄托币
48275
注册时间
2003-9-1
精华
44
帖子
1795

荣誉版主 GRE斩浪之魂 Golden Apple

发表于 2011-4-5 21:47:19 |显示全部楼层
2# DriverEntry  
:handshake  上次用一个函数igraph_destroy,被写成了igraph_destory。找了大半天,没看出来,去问老师,后来那个汗啊。。。
caoyi132 发表于 2011-4-5 09:17


其实这些问题编译,或者调试一下,很容易发现的。。。

使用道具 举报

Rank: 9Rank: 9Rank: 9

声望
25
寄托币
3530
注册时间
2008-6-18
精华
2
帖子
11

Virgo处女座 荣誉版主

发表于 2011-4-10 00:15:26 |显示全部楼层
这个...用一个哈希表,里面有就表示重复,跳过,没有就写到新的数组里面,然后往哈希表里面放入对应值
Look! If you had one shot, one opportunity.

使用道具 举报

Rank: 9Rank: 9Rank: 9

声望
25
寄托币
3530
注册时间
2008-6-18
精华
2
帖子
11

Virgo处女座 荣誉版主

发表于 2011-4-10 00:16:53 |显示全部楼层
开销应该是O(n),空间也是O(n)
最笨的方法就是两个FOR LOOP嵌套,拿一个值就全部比较一次...O(n^2),不过是常数级空间开销
Look! If you had one shot, one opportunity.

使用道具 举报

RE: 求指教 [修改]
您需要登录后才可以回帖 登录 | 立即注册

问答
Offer
投票
面经
最新
精华
转发
转发该帖子
求指教
https://bbs.gter.net/thread-1251177-1-1.html
复制链接
发送
报offer 祈福 爆照
回顶部