力扣刷题记录——258. 各位相加、263.丑数、268.丢失的数字
创始人
2024-05-05 05:29:37
0

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《258. 各位相加、263.丑数、268.丢失的数字》。

目录

258. 各位相加

        题目描述

        解题思路

        解题代码 

263.丑数

        题目描述

        解题思路

        解题代码

268.丢失的数字

        题目描述

        解题思路

        解题代码


258. 各位相加

题目描述

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。

示例 1:

输入: num = 38
输出: 2 
解释: 各位相加的过程为38 --> 3 + 8 --> 11
11 --> 1 + 1 --> 2
由于 2 是一位数,所以返回 2。

示例 2:

输入: num = 0
输出: 0

解题思路

这是一个很经典的题目了,每个位置相加,那么用字符串切割可以做到,避免了复杂的数学计算,重复这个过程用while循环,结束循环的条件即使各个位数上的数字相加结果为一位数。一次通过! 

解题代码 

def addDigits(num):while True:all = 0for i in str(num):all+=int(i)num = allif all <10:breakreturn all

263.丑数

题目描述

丑数 就是只包含质因数 23 和 5 的正整数。

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。

示例 1:

输入:n = 6
输出:true
解释:6 = 2 × 3

示例 2:

输入:n = 1
输出:true
解释:1 没有质因数,因此它的全部质因数是 {2, 3, 5} 的空集。习惯上将其视作第一个丑数。

示例 3:

输入:n = 14
输出:false
解释:14 不是丑数,因为它包含了另外一个质因数 7 

解题思路

题目说丑数就是只包含因数235的正整数,所有,定义一个列表只含有235,如果给的数能除尽其中的某一个,说明这个是他的因子,更新给定数,直到它最终变成1,说明他的因数只有235,如果在某一次三个数字都不匹配的话,说明它有其他因数,那么返回False。特别要注意的是,n=0的时候,要单独判断一下,否则会超时错误! 

解题代码

def isUgly(n):num_list = [2,3,5]while True:if n == 1:return Trueif n == 0:return Falseelse:if n % num_list[0] == 0:n = n/ num_list[0]elif n %num_list[1]==0:n = n/ num_list[1]elif n %num_list[2] == 0:n = n/ num_list[2]else:return False

268.丢失的数字

题目描述

给定一个包含 [0, n] 中 n 个数的数组 nums ,找出 [0, n] 这个范围内没有出现在数组中的那个数。

示例 1:

输入:nums = [3,0,1]
输出:2
解释:n = 3,因为有 3 个数字,所以所有的数字都在范围 [0,3] 内。2 是丢失的数字,因为它没有出现在 nums 中。

示例 2:

输入:nums = [0,1]
输出:2
解释:n = 2,因为有 2 个数字,所以所有的数字都在范围 [0,2] 内。2 是丢失的数字,因为它没有出现在 nums 中。

示例 3:

输入:nums = [9,6,4,2,3,5,7,0,1]
输出:8
解释:n = 9,因为有 9 个数字,所以所有的数字都在范围 [0,9] 内。8 是丢失的数字,因为它没有出现在 nums 中。

解题思路

找缺失的数字,只要用列表长度生成一个新列表,再用这两个列表做差就可以了,做差我采用的是列表推导式的方法,一次通过! 

解题代码

def missingNumber(nums):length = len(nums)nums_list = [i for i in range(length+1)]target = [i for i in nums_list if i not in nums]return target[0]

 

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...