

每次思考都是一次进步
1、暴力解,用循环去求每个数有多少位,得到的位的个数如果对2求余为0则记录一个。
class Solution {
public:
int findNumbers(vector<int>& nums) {
int thesize=nums.size();
int sum=0,count;
for(int i=0;i<thesize;++i)
{
count=0;
while(nums[i]!=0)
{
nums[i]/=10;
++count;
}
if(count%2==0) ++sum;
}
return sum;
}
};
2、由于他这里数据有限,可以看出位数为偶数的只有两位,四位和100000,那么则可以设立区间用if直接判断是否为偶数位。
class Solution {
public:
int findNumbers(vector<int>& nums) {
int thesize=nums.size();
int count=0;
for(int i=0;i<thesize;++i)
{
if(nums[i]<=9999&&nums[i]>=1000) ++count;
else if(nums[i]>=10&&nums[i]<=99) ++count;
else if(nums[i]==100000) ++count;
}
return count;
}
};
本文探讨了两种高效的方法来解决编程问题,一是使用循环计数偶数位数,二是针对特定数值范围判断奇偶性。通过对比暴力解法和区间判断,展示了简化问题的技巧。
1071

被折叠的 条评论
为什么被折叠?



