当前位置: 首页 > wzjs >正文

ps网站建设教程视频百度人工服务热线

ps网站建设教程视频,百度人工服务热线,网站建设微信运营销售,低代码平台 开源目录 一、881. 救生艇 贪心-排序-双指针 二、8. 字符串转换整数 (atoi) 1.模拟-未考虑溢出 2.考虑溢出问题 三、9. 回文数 1.双指针-字符串 2.数字翻转 3.数字翻转-只翻转一半 一、881. 救生艇 贪心-排序-双指针 class Solution:def numRescueBoats(self, people: Li…

目录

一、881. 救生艇

贪心-排序-双指针

二、8. 字符串转换整数 (atoi)

1.模拟-未考虑溢出

2.考虑溢出问题

三、9. 回文数

1.双指针-字符串

2.数字翻转

3.数字翻转-只翻转一半


一、881. 救生艇

贪心-排序-双指针

class Solution:def numRescueBoats(self, people: List[int], limit: int) -> int:# 贪心-排序-双指针n = len(people)people.sort()ans = 0if people[0] >= limit:return n left, right = 0, n - 1# while people[right] >= limit:     # 合在后面#     right -= 1#     ans += 1# 闭区间# 当l == r时,无论进哪里都是ans+1然后移动指针,跳出循环while left <= right:if people[left] + people[right] <= limit:# ans += 1left += 1right -= 1else:# ans += 1right -= 1ans += 1return ans

二、8. 字符串转换整数 (atoi)

1.模拟-未考虑溢出

class Solution:def myAtoi(self, s: str) -> int:# 模拟n = len(s)ans = 0idx = 0flag = 1# 处理前导空格while idx < n and s[idx] == ' ':idx += 1# 处理符号位if idx < n and (s[idx] == '+' or s[idx] == '-'):if s[idx] == '-':flag = -1idx += 1# 处理剩余位数while idx < n:if not s[idx].isdigit():breakans = ans * 10 + int(s[idx])idx += 1ans *= flagans = min(ans, 2 ** 31 - 1)ans = max(ans, - 2 ** 31)return ans

2.考虑溢出问题

来自题解(. - 力扣(LeetCode)),优雅。

class Solution:def myAtoi(self, s: str) -> int:# 考虑溢出问题ans, i, sign, n = 0, 0, 1, len(s)int_max, int_min, bndry = 2 ** 31 - 1, - 2 ** 31, 2 ** 31 // 10if not s: return 0      # 空字符串# 处理前导空格while s[i] == ' ':i += 1if i == n: return 0     # 字符串全为空# 处理符号位if s[i] == '-': sign = -1if s[i] in '+-': i += 1# 处理剩余位数for j in range(i, n):if not '0' <= s[j] <= '9': break# 溢出,同时考虑正负if ans > bndry or (ans == bndry and s[j] > '7'):return int_max if sign == 1 else int_minans = 10 * ans + ord(s[j]) - ord('0')return ans * sign

三、9. 回文数

1.双指针-字符串

class Solution:def isPalindrome(self, x: int) -> bool:# 双指针-字符串if x < 0: return False  # 负数肯定不是s = str(x)l, r = 0, len(s) - 1# 闭区间while l <= r:if s[l] != s[r]:return Falsel += 1r -= 1return True

2.数字翻转

class Solution:def isPalindrome(self, x: int) -> bool:# 数字翻转# 不使用字符串if x < 0: return False  # 负数肯定不是# 将数字进行逆序reverse_num = 0num = xwhile x > 0:reverse_num = reverse_num * 10 + x % 10x //= 10return reverse_num == num

3.数字翻转-只翻转一半

来自官方题解(. - 力扣(LeetCode))。

class Solution:def isPalindrome(self, x: int) -> bool:# 数字翻转-只翻转一半if x < 0 or (x % 10 == 0 and x != 0): return False  # 负数肯定不是,末尾为0的也不是# 这里有一点难想到特判末尾为0的情况# 将数字进行逆序reverse_num = 0# 当原始数字小于或等于反转后的数字时,说明已经处理了一半# 偶位数==,奇位数<while x > reverse_num:reverse_num = reverse_num * 10 + x % 10x //= 10return x == reverse_num or x == reverse_num // 10

感谢你看到这里!一起加油吧!

http://www.dtcms.com/wzjs/147030.html

相关文章:

  • 天眼免费查询个人简述搜索引擎优化的方法
  • 淘宝客网站免费做网页设计效果图及代码
  • 江东外贸seo网站建设seo排名软件免费
  • 网站建设找哪家公司比较好全网搜索软件
  • 网站建设未验收会计账务处理百度拍照搜题
  • wordpress怎么上传源代码长沙竞价优化
  • 高端网站建设需要多少钱中国万网域名查询
  • 网站代营销方案
  • 学校网站建设需求文档快手流量推广免费网站
  • 局网站建设工作总结搜索引擎优化是做什么的
  • 动漫网站开发毕业设计西安高端模板建站
  • 想在淘宝上找网站建设的靠谱吗广告公司网站
  • 单页网站是什么营销培训课程视频
  • 阿里云加WordPress建站杭州seo博客有哪些
  • 免费空间网站长春网站搭建
  • 做的网站手机打不开怎么办免费域名服务器
  • 如何查询网站备案号二级域名查询入口
  • 餐厅网站建设什么在线检测网站安全
  • 商城网站怎么优化seozou是什么意思
  • 开封旅游网站建设网页推广博客网站登录入口
  • 微信推广平台哪家好成都网站搜索排名优化公司
  • 微信官方微网站吗四年级说新闻2023
  • 模板设计模式google seo 优化教程
  • 珠海网站建站深圳关键词seo
  • wordpress精美网站市场调研报告500字
  • 做网站的公司那家好哪个好用?
  • 购物网站建设方案导航网站怎么推广
  • 政府网站建设常态化软文形式推广产品
  • 青岛网站建设哪家公司好简述seo的优化流程
  • 做网站销售工资关键词怎么找出来