请教一个问题

STEM版,合并数学,物理,化学,科学,工程,机械。不包括生物、医学相关,和计算机相关内容。

版主: verdeliteTheMatrix

回复
头像
(ヅ)楼主
论坛支柱
论坛支柱
帖子互动: 549
帖子: 11819
注册时间: 2022年 8月 21日 14:20

请教一个问题

帖子 (ヅ)楼主 »

有一个array,比如 a = [1,2,3,4,5]

我要求是,这个数组里面的不同数字不超过4个,即set(a).length <= 4

怎么用一个迭代的办法把这个公式写出来啊?

举个相似的例子作为参考:
如果数组是binary,我的要求是这个binary数组里面的1不超过4个,则可以写成
sum(a[ i]) <= 4
头像
verdelite
论坛元老
论坛元老
帖子互动: 1042
帖子: 24272
注册时间: 2022年 7月 21日 23:33

Re: 请教一个问题

帖子 verdelite »

(ヅ) 写了: 2023年 2月 28日 13:12 有一个array,比如 a = [1,2,3,4,5]

我要求是,这个数组里面的不同数字不超过4个,即set(a).length <= 4

怎么用一个迭代的办法把这个公式写出来啊?

举个相似的例子作为参考:
如果数组是binary,我的要求是这个binary数组里面的1不超过4个,则可以写成
sum(a[ i]) <= 4
Python? 这样可行吗?你举的例子也不是迭代啊。
len (set (a)) <= 4
头像
(ヅ)楼主
论坛支柱
论坛支柱
帖子互动: 549
帖子: 11819
注册时间: 2022年 8月 21日 14:20

Re: 请教一个问题

帖子 (ヅ)楼主 »

verdelite 写了: 2023年 2月 28日 14:04 Python? 这样可行吗?你举的例子也不是迭代啊。
len (set (a)) <= 4
例子里面求和很容易就迭代了
头像
verdelite
论坛元老
论坛元老
帖子互动: 1042
帖子: 24272
注册时间: 2022年 7月 21日 23:33

Re: 请教一个问题

帖子 verdelite »

(ヅ) 写了: 2023年 2月 28日 15:29 例子里面求和很容易就迭代了
因为按照定义每加一个新成员就必须和旧成员比较,所以这一步(比较)是省不掉的。

维持一个set, 每次迭代都检查新成员在不在set里,若不在,就加一且放入set 。
回复

回到 “STEM”