avatar
这个条件语句如何写?# Programming - 葵花宝典
j*a
1
如果又10个变量,如何写这个条件语句?"这10个变量互相都不等"
笨的方法是:
if ((a1 != a1) && (a1 != a2) ... && (a1 != a10) && (a2 != a3) ...... )
有简单的方法嘛? 谢谢.
avatar
k*f
2
先对10个变量排序,然后只要相邻的两个变量不相等,
9个条件判断

【在 j*******a 的大作中提到】
: 如果又10个变量,如何写这个条件语句?"这10个变量互相都不等"
: 笨的方法是:
: if ((a1 != a1) && (a1 != a2) ... && (a1 != a10) && (a2 != a3) ...... )
: 有简单的方法嘛? 谢谢.

avatar
O*d
3
10个变量排序就很费时间.
avatar
N*y
4
可以hash。另外如果变量本身值域比较小可以用radix一类的排序。

【在 O*******d 的大作中提到】
: 10个变量排序就很费时间.
avatar
c*g
5
不用排序。
for (i=0;i<10;i++)
{ for(j=i+1;j<10;j++)
if (a[i]==a[j]){ return 0;}//false

}
return 1;//true
avatar
j*a
6
thanks!

【在 k****f 的大作中提到】
: 先对10个变量排序,然后只要相邻的两个变量不相等,
: 9个条件判断

avatar
j*a
7
thanks.

【在 c********g 的大作中提到】
: 不用排序。
: for (i=0;i<10;i++)
: { for(j=i+1;j<10;j++)
: if (a[i]==a[j]){ return 0;}//false
:
: }
: return 1;//true

avatar
N*y
8
这个代价比排序还高。十个元素什么方法都没问题,但是generalize以后就要考虑效率
了。

【在 j*******a 的大作中提到】
: thanks.
avatar
k*k
9
对啊,就十个元素,还用 hashtable 有点过了吧

【在 N*********y 的大作中提到】
: 这个代价比排序还高。十个元素什么方法都没问题,但是generalize以后就要考虑效率
: 了。

avatar
N*y
10
十个就算了,再多点hash还是不错的。再说Hash代价并没有那么高的,别怕,哈哈

【在 k*k 的大作中提到】
: 对啊,就十个元素,还用 hashtable 有点过了吧
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。