1342[将数字变成0的操作次数]
题目
链接
LeetCode1342[将数字变成0的操作次数]
详情
实例
实例1
实例2
实例3
提示
题解
思绪
判断 num 是否为0
不为0则判断 num 是否为偶数
num 是偶数则除以2
num 不是偶数则减1
操作次数加1
重复上述步骤,直到 num 为0,返回操作次数
代码
- class Solution {
- public:
- int numberOfSteps(int num) {
- int iCount = 0;
- while (num)
- {
- if (0 == (num % 2))
- num /= 2;
- else
- num -= 1;
-
- iCount++;
- }
- return iCount;
- }
- };
复制代码 1672[最富有客户的资产总量]
题目
链接
LeetCode1672[最富有客户的资产总量]
详情
实例
实例1
实例2
实例3
提示
题解
思绪
先定义一个最大值 iMax 设置为负值,保证资产为0时也可以被存储
再一次遍历每个人的所有资产,求和 iSum
之后比较 iSum 和 iMax 的大小
如果 iSum 大于 iMax 则将 iSum 的值赋给 iMax,即 iMax = iSum,保证 iMax 存储的是最大值
最后输出 iMax
代码
- class Solution {
- public:
- int maximumWealth(vector<vector<int>>& accounts) {
- int iMax = -1;
- for (int i = 0; i < accounts.size(); i++)
- {
- int iSum = 0;
-
- for (int j = 0; j < accounts.at(i).size(); j++)
- iSum += accounts.at(i).at(j);
-
- if (iMax < iSum)
- iMax = iSum;
- }
- return iMax;
- }
- };
复制代码 412[Fizz Buzz]
题目
链接
LeetCode412[Fizz Buzz]
详情
实例
实例1
实例2
实例3
提示
题解
思绪
定义一个容器 sRetVec,依次遍历每一个数
如果可以被3和5同时整除,则在容器内加入一个元素"FizzBuzz",即 1 == ((0 == (num % 3)) && (0 == (num % 5)))成立,sRetVec.push_back("FizzBuzz")继续遍历下一个数
如果可以被3整除,则在容器内加入一个元素"Fizz",即 0 == (num % 3)成立,sRetVec.push_back("Fizz")继续遍历下一个数
如果可以被3整除,则在容器内加入一个元素"Buzz",即 0 == (num % 5)成立,sRetVec.push_back("Buzz")继续遍历下一个数
如果均不可,则将数值转换为字符串并加入容器,即sprintf(buff, "%d", num)//char buff[10] = { 0 };sRetVec.push_back(buff)继续遍历下一个数
最后遍历完输出容器
代码
- class Solution {
- public:
- vector<string> fizzBuzz(int n) {
- vector<string> sRetVec;
- for (int i = 1; i < n + 1; i++)
- {
- if ((0 == (i % 3)) && (0 == (i % 5)))
- sRetVec.push_back("FizzBuzz");
- else if (0 == (i % 3))
- sRetVec.push_back("Fizz");
- else if (0 == (i % 5))
- sRetVec.push_back("Buzz");
- else
- {
- char buff[10] = { 0 };
- sprintf(buff, "%d", i);
- sRetVec.push_back(buff);
- }
- }
- return sRetVec;
- }
- };
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |