判断单双周java_[Leetcode周赛]25双周&187单周

本文介绍了LeetCode周赛中的几道编程题,包括判断每个孩子能否获得最多糖果的问题,字符串变换题目,以及数组操作题。通过提供解题思路和关键代码,展示了如何解决这些问题。
摘要由CSDN通过智能技术生成

排名:519 / 1832

1d98b4cf87b0ae369e7d0552380e3421.png

思路:

很简单的一个题 直接求出最多的糖果多少,然后判断每个孩子的糖果加上多余的是否可以大于等于最多的。

class Solution(object):

def kidsWithCandies(self, candies, extraCandies):

"""

:type candies: List[int]

:type extraCandies: int

:rtype: List[bool]

"""

max_candies = max(candies)

ans = []

for x in candies:

if x+extraCandies>=max_candies:

ans.append(True)

else:

ans.append(False)

return ans

3c2b11d9cc66c053d3fdefdad0e535d8.png

思路:

又是一道细节题,我真的不会细节题。这个题思路秒想到,就是先往大了变,找到最高位的不为9的数字,变为9。然后往低了变,但是往低了变可能会把首位数字变为0,所以要特殊对待下.

如果首位数字为1,则寻找除了首位数字以外的最高位且不等于1且不等于0的数字,替换为0.

如果首位数字不是1,则将等于首位数字的数字替换为1

class Solution(object):

def maxDiff(self, num):

"""

:type num: int

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值