做设计最好的参考网站,wordpress 删除自带主题,药品网站 icp,深圳建设 骏域网站建设专家文章目录 #x1f352;题目一 507. 完美数#x1f352;解法一 #x1f352;题目二 2678. 老人的数目#x1f352;解法一 #x1f352;题目三 520. 检测大写字母#x1f352;解法一#x1f352;解法二 #x1f352;题目一 507. 完美数 对于一个 正整数#xff0c;如果它… 文章目录 题目一 507. 完美数解法一 题目二 2678. 老人的数目解法一 题目三 520. 检测大写字母解法一解法二 题目一 507. 完美数 对于一个 正整数如果它和除了它自身以外的所有 正因子 之和相等我们称它为 「完美数」。
给定一个 整数 n 如果是完美数返回 true否则返回 false。
示例 1
输入num 28 输出true 解释28 1 2 4 7 14 1, 2, 4, 7, 和 14 是 28 的所有正因子。 示例 2
输入num 7 输出false
提示
1 num 108 解法一
本题解法采用力扣官方解答使用存在一个大于根号num的正因子那么一定存在一个小于根号num的正因子num/i方法很nice
class Solution(object):def checkPerfectNumber(self, num)::type num: int:rtype: boolif num1:return Falsei 2sum 1while i*inum:if num%i0:sumiif i*inum:sumnum/ii1return sum num题目二 2678. 老人的数目
给你一个下标从 0 开始的字符串 details 。details 中每个元素都是一位乘客的信息信息用长度为 15 的字符串表示表示方式如下
前十个字符是乘客的手机号码。 接下来的一个字符是乘客的性别。 接下来两个字符是乘客的年龄。 最后两个字符是乘客的座位号。 请你返回乘客中年龄 严格大于 60 岁 的人数。 解法一
class Solution(object):def countSeniors(self, details)::type details: List[str]:rtype: intcount 0for i in details:if int(i[11:13])60:count1return count题目三 520. 检测大写字母
我们定义在以下情况时单词的大写用法是正确的
全部字母都是大写比如 “USA” 。 单词中所有字母都不是大写比如 “leetcode” 。 如果单词不只含有一个字母只有首字母大写 比如 “Google” 。 给你一个字符串 word 。如果大写用法正确返回 true 否则返回 false 。
示例 1
输入word “USA” 输出true 示例 2
输入word “FlaG” 输出false
解法一
class Solution(object):def detectCapitalUse(self, word)::type word: str:rtype: boolcount 0for i in word:if i.isupper():count1print(count)# print(word[0])print(len(word))if count 0 or count len(word):return Trueelif count 1:if word[0].isupper():return Trueelse:return Falseelse:return False解法二
官方解法
class Solution:def detectCapitalUse(self, word: str) - bool:# 若第 1 个字母为小写则需额外判断第 2 个字母是否为小写if len(word) 2 and word[0].islower() and word[1].isupper():return False# 无论第 1 个字母是否大写其他字母必须与第 2 个字母的大小写相同return all(word[i].islower() word[1].islower() for i in range(2, len(word)))根据题目要求若单词的大写用法正确则需要满足
若第 111 个字母为大写则其他字母必须均为大写或均为小写即其他字母必须与第 222 个字母的大小写相同
若第 111 个字母为小写则其他字母必须均为小写。
根据以上规则可以整理得到以下更简单的判断规则
无论第 111 个字母是否大写其他字母必须与第 222 个字母的大小写相同
若第 111 个字母为小写则需额外判断第 222 个字母是否为小写。 挑战与创造都是很痛苦的但是很充实。