LeetCode简单题目(#53 #58 #66 #67 #69 #70 #83 #88)-8道
leetcode题库中共有350道简单题目。
本文记录已解决的题目和代码。
本文中的序号是leetcode题目中的真实序号。
文章目录
- 53 最大子序和
- 描述
- 代码
- 大佬代码
- 58 最后一个单词的长度
- 描述
- 代码
- 66 加一
- 描述
- 代码
- 67 二进制求和
- 描述
- 代码
- 69 x的平方根
- 描述
- 代码
- 大牛解法
- 牛顿迭代法
- 70 爬楼梯
- 描述
- 代码
- 大神多种解法
- 83 删除排序链表中的重复元素
- 描述
- 代码
- 88 合并两个有序数组
- 描述
- 代码
- 大牛更多解法
53 最大子序和
描述
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
示例:
输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
进阶:
如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解
代码
class Solution:def maxSubArray(self, nums: List[int]) -> int:sum_num,temp_max = 0,nums[0]for i in range(len(nums)):if sum_num > 0:sum_num += nums[i]else:sum_num = nums[i]if sum_num > temp_max:temp_max = sum_numif temp_max > sum_num:return temp_maxreturn sum_num
大佬代码
class Solution(object):def maxSubArray(self, nums):""":type nums: List[int]:rtype: int"""for i in range(1, len(nums)):nums[i]= nums[i] + max(nums[i-1], 0)return max(nums)
58 最后一个单词的长度
描述
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。
如果不存在最后一个单词,请返回 0 。
说明:一个单词是指由字母组成,但不包含任何空格的字符串。
示例:
输入: “Hello World”
输出: 5
代码
class Solution:def lengthOfLastWord(self, s: str) -> int:return len(s.split()[-1]) if s.strip() else 0
66 加一
描述
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
代码
class Solution:def plusOne(self, digits: List[int]) -> List[int]:digits_str = ''.join(str(i) for i in digits)return list(str(int(digits_str) + 1))# 1行解决
class Solution:def plusOne(self, digits: List[int]) -> List[int]:return map(int, str(int(''.join(map(str,digits))) + 1))
67 二进制求和
描述
给定两个二进制字符串,返回他们的和(用二进制表示)。
输入为非空字符串且只包含数字 1 和 0。
示例 1:
输入: a = “11”, b = “1”
输出: “100”
示例 2:
输入: a = “1010”, b = “1011”
输出: “10101”
代码
class Solution:def addBinary(self, a: str, b: str) -> str:return bin(int(a,2) + int(b,2))[2:]
int(‘101’,2)可以把二进制字符串转换为十进制
bin(1231)把十进制数字转换为二进制字符串(加前缀’0b’)
见https://blog.csdn.net/u012063703/article/details/42609833
69 x的平方根
描述
实现 int sqrt(int x) 函数。
计算并返回 x 的平方根,其中 x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例 1:
输入: 4
输出: 2
示例 2:
输入: 8
输出: 2
说明: 8 的平方根是 2.82842…, 由于返回类型是整数,小数部分将被舍去。
代码
def mySqrt(x: int) -> int:i = 0while i*i <= x:i += 1return int(i-1) if i > 1 or not x else 1
大牛解法
https://leetcode-cn.com/problems/sqrtx/solution/er-fen-cha-zhao-niu-dun-fa-python-dai-ma-by-liweiw/
牛顿迭代法
class Solution:def mySqrt(self, x):""":type x: int:rtype: int"""if x <= 1:return xr = xwhile r > x/r:r = (r + x/r) // 2return int(r)
70 爬楼梯
描述
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
注意:给定 n 是一个正整数。
示例 1:
输入: 2 输出: 2
解释: 有两种方法可以爬到楼顶。
- 1 阶 + 1 阶
- 2 阶
示例 2:
输入: 3 输出: 3
解释: 有三种方法可以爬到楼顶。 - 1 阶 + 1 阶 + 1 阶
- 1 阶 + 2 阶
- 2 阶 + 1 阶
代码
# 动态规划解法
class Solution:def climbStairs(self, n: int) -> int:a, b = 0, 1for i in range(n + 1):a, b = b, a + breturn a
大神多种解法
https://leetcode-cn.com/problems/climbing-stairs/solution/pa-lou-ti-by-leetcode/
83 删除排序链表中的重复元素
描述
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
示例 2:
输入: 1->1->2->3->3
输出: 1->2->3
代码
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = Noneclass Solution:def deleteDuplicates(self, head: ListNode) -> ListNode:temp_node = headwhile temp_node and temp_node.next:if temp_node.val == temp_node.next.val:temp_node.next = temp_node.next.nextelse:temp_node = temp_node.nextreturn head
88 合并两个有序数组
描述
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
说明:
初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
示例:
输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3
输出: [1,2,2,3,5,6]
代码
def merge(nums1,m, nums2, n):"""Do not return anything, modify nums1 in-place instead."""i,j = 0,0while j < n and i < (m+n):if nums2[j] <= nums1[i]:nums1.insert(i,nums2[j])j += 1i += 1else:i += 1p = len(nums1) - 1while len(nums1) > (m+j) and not nums1[p]:nums1.pop()p -= 1nums1.extend(nums2[j:])
大牛更多解法
https://leetcode-cn.com/problems/merge-sorted-array/solution/he-bing-liang-ge-you-xu-shu-zu-by-leetcode/
LeetCode简单题目(#53 #58 #66 #67 #69 #70 #83 #88)-8道相关推荐
- LeetCode简单题目(#118 #119 #121 #122 #125 #136 #141 #155)-8道
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 118 杨辉三角 描述 代码 官方解答 119 杨辉三角II 描 ...
- LeetCode简单题目(#263 #268 #278 #283 #290)-5道(数字、字符串)
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 263 丑数 描述 代码 大神代码 268 缺失数字 描述 代码 ...
- LeetCode简单题目(#235 #237 #242 #257 #258)-5道(树、数字、字符串)
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 235 二叉搜索树的最近公共祖先 描述 代码 237 删除链表中 ...
- LeetCode简单题目(#225 #226 #231 #232 #234)-5道(栈、队列、树、数字)
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 225 用队列实现栈 描述 代码 226 翻转二叉树 描述 代码 ...
- LeetCode简单题目(#203 #204 # #205 #206 #217 #219)-6道(序列、数字)
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 203 移除链表元素 描述 代码 大神代码-递归 204 计数质 ...
- LeetCode简单题目(#172 #189 #190 #191 #198 #202)-6道(序列、数字)
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 172 阶乘后的零 描述 代码 官方解答 189 旋转数组 描述 ...
- LeetCode简单题目(#160 #167 #168 #169 #171)-5道(序列、数字)
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 160 相交链表 描述 代码 大神代码-双指针法 大神代码-哈希 ...
- LeetCode简单题目(二叉树相关)(#100 #101 #104 #107 #108 #110 #111 #112)-8道
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 100 相同的树 描述 代码 更好的解法 101 对称二叉树 描 ...
- LeetCode简单题目(#27 #28 #35 #38)-2019.10.23-4道
leetcode题库中共有350道简单题目. 本文记录已解决的题目和代码. 本文中的序号是leetcode题目中的真实序号. 文章目录 27 移除元素 描述 代码 28 实现 strStr() 描述 ...
最新文章
- 汇总 | 精选CVPR开源项目学习资源
- 从SeekFree的Gitee开源库建立通用MM32开发模板
- 从缓冲上看阻塞与非阻塞socket在发送接收上的区别(转载)
- SQL Server 2008 性能测试和调优
- 服务器端 python pdb 调试
- Playground
- gb2312编码在线转换_python基础学习—04字符串与编码
- SandStorm 出品|建设者高光时刻 9 月作品集已上线!
- 2016年上半年系统集成中项4月6日作业
- 计算机核心论文如何审稿,2021年,审稿快、好中的核心期刊有哪些?
- 架构漫谈(八):从架构的角度看如何写好代码 + 我的思考
- 基于链表和禁忌搜索启发式算法实现非一刀切二维矩形排样算法
- 猫哥教你写爬虫 027--模块介绍
- 目前绝大多数处理语言先验性文章总结
- 介绍MySQL数据库与应用场景
- 天顶围棋 8 zenith 8_女子围甲联赛来到太原 马晓春王元“书海专场”推广围棋与文化...
- error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such
- Android之Notification的多种用法
- 直流电机驱动保护方案
- WineQQ 转自 清风的网络空间
热门文章
- cf烟雾头怎么调win7系统
- Python基础-文件操作
- bootstrap table 光标_第三章之Bootstrap 表格与按钮功能
- Shell:shell中的循环语句
- ❤️关于 idea 安装 Vue 插件后新建文件不显示 Vue Component 的问题及解决方法❤️
- vue项目中input框默认获得焦点,回车选中输入文本
- Open3d之点云可视化
- PCL之K维树--KD-tree
- inception mysql 使用_mysql 审核引擎 goInception 的基本使用
- python重构迭代_Pylint:让你的 Python 代码保持一致