力扣新手村之1342、1672、412

打印 上一主题 下一主题

主题 577|帖子 577|积分 1731

1342[将数字变成0的操作次数]

题目

链接

LeetCode1342[将数字变成0的操作次数]
详情


实例

实例1


实例2


实例3


提示


题解

思绪

判断 num 是否为0
不为0则判断 num 是否为偶数
num 是偶数则除以2
num 不是偶数则减1
操作次数加1
重复上述步骤,直到 num 为0,返回操作次数
代码
  1. class Solution {
  2. public:
  3.     int numberOfSteps(int num) {
  4.         int iCount = 0;
  5.         while (num)
  6.         {
  7.             if (0 == (num % 2))
  8.                 num /= 2;
  9.             else
  10.                 num -= 1;
  11.             
  12.             iCount++;
  13.         }
  14.         return iCount;
  15.     }
  16. };
复制代码
1672[最富有客户的资产总量]

题目

链接

LeetCode1672[最富有客户的资产总量]
详情


实例

实例1


实例2


实例3


提示


题解

思绪

先定义一个最大值 iMax 设置为负值,保证资产为0时也可以被存储
再一次遍历每个人的所有资产,求和 iSum
之后比较 iSum 和 iMax 的大小
如果 iSum 大于 iMax 则将 iSum 的值赋给 iMax,即 iMax = iSum,保证 iMax 存储的是最大值
最后输出 iMax
代码
  1. class Solution {
  2. public:
  3.     int maximumWealth(vector<vector<int>>& accounts) {
  4.         int iMax = -1;
  5.         for (int i = 0; i < accounts.size(); i++)
  6.         {
  7.             int iSum = 0;
  8.             
  9.             for (int j = 0; j < accounts.at(i).size(); j++)
  10.                 iSum += accounts.at(i).at(j);
  11.                
  12.             if (iMax < iSum)
  13.                 iMax = iSum;
  14.         }
  15.         return iMax;
  16.     }
  17. };
复制代码
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)继续遍历下一个数 
最后遍历完输出容器
代码
  1. class Solution {
  2. public:
  3.     vector<string> fizzBuzz(int n) {
  4.         vector<string> sRetVec;
  5.         for (int i = 1; i < n + 1; i++)
  6.         {
  7.             if ((0 == (i % 3)) && (0 == (i % 5)))
  8.                 sRetVec.push_back("FizzBuzz");
  9.             else if (0 == (i % 3))
  10.                 sRetVec.push_back("Fizz");
  11.             else if (0 == (i % 5))
  12.                 sRetVec.push_back("Buzz");
  13.             else
  14.             {
  15.                 char buff[10] = { 0 };
  16.                 sprintf(buff, "%d", i);
  17.                 sRetVec.push_back(buff);
  18.             }
  19.         }
  20.         return sRetVec;
  21.     }
  22. };
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表