自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 leetcode 64 最小路径和 python

给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[  [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。本题思路为创建输入相同大小的辅助矩阵,辅助矩阵中每个位置不依赖其他位置,仅仅依赖上上两个步骤,...

2018-10-11 11:53:38 885

原创 python 取数位

如果给定一个数如a=1234567,如果求最高a的位数可以用 l = len(str(a))即可求出a的最高数位 

2018-09-25 17:24:27 1109

原创 leetcode 92. 反转链表 II (python)

反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL这道题目提供一个简单的思路,首先把所有链表压入一个列表里,然后反转相应的位置。创建新的链表。class Soluti...

2018-06-08 10:51:24 1366

原创 leetcode 34. 搜索范围 (python)

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8,8,10], target = 6...

2018-06-07 18:16:49 776

原创 leetcode 70.爬楼梯 (python)

假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 步 + 1 步2. 2 步示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 步 + 1 步 + 1 步2. 1 步 + 2 步3. ...

2018-06-07 10:20:57 789

原创 leetcode 100. 相同的树 (python)

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1 ...

2018-06-07 09:58:59 885

原创 leetcode 36. 有效的数独 (python)

判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 '.' 表示。本题主要是思想就是满足每行 每列和每个单元中不存在重复的数,代码如下:class Soluti...

2018-06-06 19:50:05 1389

原创 leetcode 264. 丑数 II (python)

本题,选择乘2,3,5因子,根据因子判断不断变大的丑数。class Solution: def nthUglyNumber(self, n): """ :type n: int :rtype: int """ t1 = 0 t2 = 0 t3 = 0 #分别为2,...

2018-06-05 19:57:34 362

原创 leetcode 47. 全排列 II (python)

给定一个可包含重复数字的序列,返回所有不重复的全排列。本题给出看到有大佬写了很简洁的代码,分享给大家。class Solution: def permuteUnique(self, nums): ans = [[]] for n in nums: ans = [l[:i]+[n]+l[i:] for ...

2018-06-04 19:59:18 886

原创 最大公约数(python)

根据左程云老师的《程序员代码面试宝典》中一行完成最大公约数的讲解。class Solution(object):      def permute(self, nums):          """         :type nums: List[int]         :rtype: List[List[int]]         """          if len(nums)<=...

2018-06-04 12:23:03 5693

原创 leetcode 24. 两两交换链表中的节点 python

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。    本题就是运用temp,结点交换画流程图容易理解。class Solution(object): def swapPa...

2018-06-02 20:57:48 2023

原创 leetcode 23. 合并K个排序链表 python

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[  1->4->5,  1->3->4,  2->6]输出: 1->1->2->3->4->4->5->6    本题我的思路简单的思路是把链表都加入一个数组中,然后排序,再加到最后的链表中,算法复度为O(nlog(n))代码如下:...

2018-06-02 20:27:13 2498 2

原创 leetcode 48. 旋转图像 python(可以一行)

给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。这个题有两个思路第一个思路就是先变换最外层,逐渐向内深入,但这个题本身并不复杂,可以用转至后反转每列来进行答题。同时旋转90度是个套路,应该记住。代码如下:class Solution: def rotate(self,...

2018-06-02 15:00:27 5018

原创 leetcode 4.两个排序数组的中位数 (python)

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。代码如下class Solution(object): def findMedianSortedArrays(self, nums1, nums2): """ :type nums1: List[int] ...

2018-06-02 13:29:33 1791 5

原创 leetcode 3. 无重复字符的最长子串 python

给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,"pwke" 是 子序列  而不是子串。本题主要思路就是滑动窗空,普通的滑动窗口

2018-06-02 02:35:25 3633

原创 leetcode 242. 有效的字母异位词 python

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。本题还是通过把t和s变成set中,再遍历比较,直接遍历超时,代码如下:class Solution(obj...

2018-06-01 01:14:18 662

原创 leetcode 349. 两个数组的交集 (python)

给定两个数组,写一个函数来计算它们的交集。例子: 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].本题思路就是把num1 和num2 加入set,代码如下。class Solution: def intersection(self, nums1, nums2): """ :type nums1: List[int]...

2018-06-01 00:52:30 739

原创 leetcode 35. 搜索插入位置 (python)

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0这道题的思路,遍历。代码如下...

2018-06-01 00:38:01 402

原创 leetcode 29. 两数相除 (python)

给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。说明:被除数和除数均为 32 位有符号整数。除数不为 0。假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231,  231 − 1]。本题中,如果除法结果溢出,则返回 231 − 1。这个题我刚开始想到...

2018-05-31 16:48:42 1971 4

原创 leetcode 26. 删除排序数组中的重复项 (python)

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums =...

2018-05-31 01:34:00 3408

原创 leetcode 27. 移除元素 (python)

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。...

2018-05-31 00:33:10 866

原创 leetcode 28. 实现strStr() (python)

实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回  -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"输出...

2018-05-31 00:21:10 418

原创 leetcode 21. 合并两个有序链表 (python)

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4本题同样可以很单线条解决,代码如下将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4,...

2018-05-31 00:10:52 5761

原创 leetcode 19. 删除链表的倒数第N个节点 (python) 进阶问题

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?本题就算是进阶问题也是很简单的,但是需要记录有链表有几个数,并且将链表节点储存到列表里。# D...

2018-05-31 00:07:34 2102

原创 leetcode 17. 电话号码的字母组合 (python) 非递归

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:本题用到字典,很简单,很无脑,

2018-05-30 16:50:46 2074

原创 leetcode 16. 最接近的三数之和 (python)

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).紧接着上一题三数之和,用相同的思路代码如下cl...

2018-05-28 23:06:03 1583

原创 leetcode 15. 三数之和 (python)

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]您这道题如果用单纯的暴力搜索时间...

2018-05-28 22:25:47 2307

原创 leetcode11. 盛最多水的容器 (python)

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。注意:你不能倾斜容器,n 至少是2。本题可以固定思维是设置两个做两个for循环,还有一种是贪心算法:设置左右两个指针left 和 right,盛水容量由矮...

2018-05-28 20:00:48 1253 1

原创 leetcode 8. 字符串转整数 (atoi) python

实现 atoi,将字符串转为整数。在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第一个非空字符序列不是个...

2018-05-28 19:11:30 838

原创 leetcode2 两数相加 (python)(有歧义?)

给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807个人感觉根据示例表达不清,题意为两个链表每个链相加形...

2018-05-26 17:33:41 224

原创 leetcode 633 平方数之和 (python)

给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。示例1:输入: 5输出: True解释: 1 * 1 + 2 * 2 = 5 示例2:输入: 3输出: False本题主要思想就是找到输入值的平方根作为heigh,low为1,判断heigh和low的平方和,大于输入值则heigh--,小于low++,等于则返回真。代码如下class Solutio...

2018-05-25 20:00:36 1033

原创 leetcode 645 非递减数列 python

给定一个长度为 n 的整数数组,你的任务是判断在最多改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (1 <= i < n),满足 array[i] <= array[i + 1]。示例 1:输入: [4,2,3]输出: True解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: [...

2018-05-25 10:29:29 976

原创 leetcode 14 找到最长公共前缀 python

编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""

2018-05-25 00:55:34 735

原创 leetcode 回文数 (python)(进阶问题:不用字符串)

刚开始刷题,第9道题就是一道简单的判断回文数题。原题目如下判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为...

2018-05-24 20:29:50 1023

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除