大佬们,问一个很初级的问题:如何计算输入数组中“1”的个数?

MogmaTV!-avatar

MogmaTV!

.count 方法
datLOPguy-avatar

datLOPguy

泥潭好像有专门的程序员区
Tender-avatar

Tender

应该没吧…全遍历好像是最直接的手段了…
Twinz-avatar

Twinz

你这个数组,再长能有多长。。。。
遍历呗。
Joe4meee-avatar

Joe4meee

这是力扣原题啊
pinkpowerwings-avatar

pinkpowerwings

你们能不能别整这花里胡哨的办法,就用FOR会死还是怎么着
Lt Waffler-avatar

Lt Waffler

先把数组转成字符串,再以1切割成数组[s:ac:计划通]
Joebus-avatar

Joebus

你领导问你部门里有多少男的,你除了自己自己数还能干嘛,问人资吗?
choppa-avatar

choppa

不遍历,你怎么知道134?213里面的未知数包含1与否,再花里胡哨调api底层总归是用到遍历的
wem-avatar

wem

楼主,你这个是 面试题还是??

如果只是单纯需要求出 数组中,某个 组件的个数。

for循环遍历是复杂度最低的,就是“O(0)“级的。

如果你这个是设计到算法面试题,

理论上,采用 二叉树打散,只前序遍历,来通过 大数据 赌 组件个数 那就是 ”O(arr.length^-3)的复杂度。

伪代码举例:

1,已知 N个 同类型数组arr[n] 按照 某个组件的占有率为 token% 随机填充

2, 不完全遍历某个数组,只前序遍历后,通过 算法 token% 求出个数。
athenaaa-avatar

athenaaa

[quote][pid=580752614,30235242,1]Reply[/pid] Post by [uid=15824864]真实灬妄想[/uid] (2022-01-11 16:23):

先把数组转成字符串,再以1切割成数组[s:ac:计划通][/quote]你要碰到*1*这种呢[s:ac:呆]
Snipeye-avatar

Snipeye

如果你是要求一次,那遍历是必须的
如果你要支持动态删改多次查询可以用数据结构(比如说线段树这种)
如果还有什么别的需求那建议描述出来
Delnara-avatar

Delnara

ctrl f 输入 1 得到 共xxxx个

[img]https://img.nga.178.com/attachments/mon_201209/14/-47218_5052bcb6e96d1.png[/img]
GLorvac Ban-avatar

GLorvac Ban

不想用for, 难倒是R?
length(which(arr == 1))
17y9-avatar

17y9

py
sum((x==1 for x in nums))

本质还是循环吧。。
ExcordXD-avatar

ExcordXD

[quote][pid=580753651,30235242,1]Reply[/pid] Post by [uid=37023270]guaguahuang[/uid] (2022-01-11 16:26):

楼主,你这个是 面试题还是??

如果只是单纯需要求出 数组中,某个 组件的个数。

for循环遍历是复杂度最低的,就是“O(0)“级的。

如果你这个是设计到算法面试题,

理论上,采用 二叉树打散,只前序遍历,来通过 大数据 赌 组件个数 那就是 ”O(arr.length^-3)的复杂度。

伪代码举例:

1,已知 N个 同类型数组arr[n] 按照 某个组件的占有率为 token% 随机填充

2, 不完全遍历某个数组,只前序遍历后,通过 算法 token% 求出个数。[/quote]O(0) 是什么鬼。最小的那也叫O(1)。

而且遍历明显是O(n)。
NevverTTV-avatar

NevverTTV

python
(arr==1).nonzero().shape
wem-avatar

wem

Reply to [pid=580755004,30235242,1]Reply[/pid] Post by [uid=63587755]天佑中华9[/uid] (2022-01-11 16:31)

复杂度这里写错了。。勿怪。[s:ac:汗]