NC207569. 牛牛爱奇数
描述
输入描述
示例1
输入:
3,[2,2,3]
输出:
1
说明:
只需做一次操作,会将其中的偶数2都变成1,满足了所有的数都是奇数的要求。示例2
输入:
3,[1,3,7]
输出:
0
说明:
不需要做任何操作,因为所有的数原本就是奇数。Python3(3.5.2) 解法, 执行用时: 2337ms, 内存消耗: 26448K, 提交时间: 2020-08-14 16:49:03
class Solution: def solve(self , n , a ): # write code here s = set() for i in a: while i%2==0 and i not in s: s.add(i) i = i>>1 return len(s)
C++ 解法, 执行用时: 74ms, 内存消耗: 20132K, 提交时间: 2022-07-20 20:47:03
class Solution { public: int oddNumber(int n, vector<int>& a) { set<int> s; for(int i=0;i<n;i++) for(int j=a[i];!(j%2);j/=2) s.insert(j); return s.size(); } };
Go(1.14.4) 解法, 执行用时: 301ms, 内存消耗: 56692K, 提交时间: 2020-07-25 22:14:09
package main // github.com/EndlessCheng/codeforces-go func solve(_ int, a []int) (c int) { m:=map[int]bool{} for _, v := range a { for ; v&1==0 && !m[v]; v/=2 { m[v]=true c++ } } return }