首页 > 其他分享 >力扣新手村之1342、1672、412

力扣新手村之1342、1672、412

时间:2024-11-05 17:41:09浏览次数:3  
标签:新手村 实例 int 1342 iSum 力扣 num iMax sRetVec

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;
    }
};

 

标签:新手村,实例,int,1342,iSum,力扣,num,iMax,sRetVec
From: https://www.cnblogs.com/EricsT/p/18527682

相关文章

  • 力扣 Python 第7题
    ​classSolution(object):defreverse(self,x):""":typex:int:rtype:int"""y=abs(x)#取绝对值res=0x_min=2**31#找到最左边边界x_max=2**31-1#找到最右边边界......
  • 力扣题目解析--整数转罗马数
    题目七个不同的符号代表罗马数字,其值如下:符号值I1V5X10L50C100D500M1000罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规则:如果该值不是以4或9开头,请选择可以从输入中减去的最大值的符号,将该符号附加到结果,减去其值,然后将......
  • 【图解版】力扣第70题:爬楼梯
    推理出状态表达式f(5)表示到达第5层,所有可能的方法数。到达第5层,有可能是从第4层走一步上来,也有可能是从第3层走两步上来。所以我们可以慢慢延伸,画出上面......
  • 今日力扣:3226. 使两个整数相等的位更改次数 python3解法
    给你两个正整数 n 和 k。你可以选择 n 的 二进制表示 中任意一个值为1的位,并将其改为0。返回使得 n 等于 k 所需要的更改次数。如果无法实现,返回-1。示例1:输入: n=13,k=4输出: 2解释:最初,n 和 k 的二进制表示分别为 n=(1101)2 和 k=(010......
  • 【数据结构-邻项消除】力扣1047. 删除字符串中的所有相邻重复项
    给出由小写字母组成的字符串s,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在s上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:“abbaca”输出:“ca”解释:例如,在“abbaca”中,我们可以......
  • 力扣题目解析--Z字形变换
    题目将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYI......
  • 力扣面试题 _ 1393
    .-力扣(LeetCode)1.目标        编写解决方案报告每只股票的 资本损益。        股票的 资本利得/损失 是指一次或多次买卖该股票后的总收益或损失。        以 任意顺序 返回结果表。2.分析3.实现selectstock_name,sum(cas......
  • SQL,力扣题目1783,大满贯数量
    一、力扣链接1783.大满贯数量二、题目描述表:Players+----------------+---------+|ColumnName|Type|+----------------+---------+|player_id|int||player_name|varchar|+----------------+---------+player_id是这个表的主键(具有......
  • SQL,力扣题目1747,应该被禁止的 Leetflex 账户
    一、力扣链接LeetCode_1747二、题目描述表: LogInfo+-------------+----------+|ColumnName|Type|+-------------+----------+|account_id|int||ip_address|int||login|datetime||logout|datetime|+-------------......
  • SQL,力扣题目1699,两人之间的通话次数
    一、力扣链接LeetCode_1699二、题目描述表: Calls+-------------+---------+|ColumnName|Type|+-------------+---------+|from_id|int||to_id|int||duration|int|+-------------+---------+该表没有主键(具有唯一值......