当前位置:   article > 正文

网易互娱笔试8.11:三道题AC_网易互娱笔试几道可以过

网易互娱笔试几道可以过

第一题:

给n个数组,计算每个数组里面的元素有多少个1,相同1次数为一类,计算每个数组有几类。

思路:减1做&运算。注意将答案放在数组里面分别打印,否则报错。

  1. #coding=utf-8
  2. # 本题为考试多行输入输出规范示例,无需提交,不计分。
  3. import sys
  4. def count_one(nums):
  5. res = []
  6. for num in nums:
  7. count = 0
  8. if num < 0:
  9. num = num & 0xffffffff
  10. while num:
  11. num = (num - 1) & num
  12. count += 1
  13. res.append(count)
  14. return len(set(res))
  15. if __name__ == "__main__":
  16. # 读取第一行的n
  17. g = int(sys.stdin.readline().strip())
  18. ans = []
  19. # 例子个数
  20. for i in range(g):
  21. n = int(sys.stdin.readline().strip())
  22. line = sys.stdin.readline().strip()
  23. line = list(map(int, line.split()))
  24. ans.append(count_one(line))
  25. for i in ans:
  26. print(i)

第二题:

游泳池,一个进水管和一个排水管,分别每

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/989855
推荐阅读
相关标签
  

闽ICP备14008679号