leedcode
兰亭不写序
俗人一个
展开
-
【剑指 Offer-python】05. 替换空格
题目描述 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 输入:s = "We are happy." 输出:"We%20are%20happy." 解题思路 不使用内置函数 class Solution: def replaceSpace(self, s: str) -> str: result = '' for i in s: if i == ' ': result = resul原创 2020-07-08 20:16:10 · 142 阅读 · 0 评论 -
【剑指 Offer-python】 03. 数组中重复的数字
题目描述 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 限制 2 <= n <= 100000 题解思路 class Solution: def findRepeatNumber(self, nums: List[int]) -> int:原创 2020-07-06 21:53:27 · 289 阅读 · 0 评论 -
【leedcode刷题-python】7. 整数反转
题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 输入: 123 输出: 321 输入: -123 输出: -321 输入: 120 输出: 21 注意 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 题解 class Solution: def reverse(self, x: int) -> int: flag = 0原创 2020-07-05 15:18:10 · 100 阅读 · 0 评论 -
【leedcode刷题-python】3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 我们使用两个指针或变量(left,right)来记录枚举子串的左右边界。我们可以不断地向右移动右指针,但需要保证这两个指针对应的子串中没有重复的字符。当出现重复字符时,更新左指针位置为重复字符位置。 判断重复字符 这里我们用hashmap来判断是否有重复的字符。右指针每移动一次进行一次判断,如果在hashmap里有重复字符,原创 2020-07-05 15:02:06 · 93 阅读 · 0 评论 -
【leedcode刷题-python】1. 两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 暴力解法: 直接两层循环解题会超出时间限制,故考虑优化。因为num2 的查找并不需要每次在nums从头查找一遍,只需要从 num1 位置之后原创 2020-07-05 14:02:58 · 93 阅读 · 1 评论