C# 实现
public class Solution {
public IList<string> ReadBinaryWatch(int num)
{
IList<string> rlst = new List<string>();
for (int i = 0; i < 12; i++)
{
for (int j = 0; j < 60; j++)
{
if (GetBinaryOneNum(i) + GetBinaryOneNum(j) == num)
{
string time = string.Format("{0}:{1}", i, j.ToString().PadLeft(2, '0')); //控制格式(如 0:01)
rlst.Add(time);
}
}
}
return rlst;
}
// 获得数n的二进制中包含1的个数
int GetBinaryOneNum(int n)
{
string strN = Convert.ToString(n, 2);
int sum = 0;
for (int i = 0; i < strN.Length; i++)
{
if (strN[i] == '1') sum++;
}
return sum;
}
}
unity3d交流群:836901775