随笔分类 - LeetCode Python
摘要:题目来源: https://leetcode.com/problems/sort-colors/题意分析: 给定n个颜色,红色,白色和蓝色。分别用0,1,2代替,将这些颜色排序,0在1前,1在2前。题目思路: 记录一下起始位置和末尾。遍历一下输入,如果是2就放到末尾,末尾-1,如果是0,那么放...
阅读全文
摘要:题目来源: https://leetcode.com/problems/search-a-2d-matrix/题意分析: 给一个m×n矩阵,矩阵是按照从小到大排列,也就是a[i][j]和a[m][n]如果i > m则a[i][j]>a[m][n],如果i == m,j > n,则a[i][j]>...
阅读全文
摘要:题目来源: https://leetcode.com/problems/set-matrix-zeroes/题意分析: 输入一个m×n矩阵,如果出现有0,那么将对应的行和列都变成0.题目思路: 简单的一个想法是记录行列哪些出现过0,那么将其对应到的行列转成0.代码(Python): 1 c...
阅读全文
摘要:题目来源: https://leetcode.com/problems/edit-distance/题意分析: word1最少通过多少步可以变成word2。word1只能进行一下的操作。a)插入一个字符,b)删除一个字符,c)替代一个字符。比如“aba”变成“abc”只需要通过替代最后一个字符就...
阅读全文
摘要:题目来源: https://leetcode.com/problems/simplify-path/题意分析: 简化Unix上的绝对路径,也就是多个'/'代表一个,'..'表示返回上一级目录,‘.'代表当前目录。题目思路: 利用栈,把非'/'和'.'push进栈,如果遇到'..'pop掉一个,...
阅读全文
摘要:题目来源: https://leetcode.com/problems/climbing-stairs/题意分析: 爬楼梯,一次可以爬一步或者两步。如果要爬n层,问一共有多少种爬法。比如说,如果是3层,可以有[[1,1,1],[1,2],[2,1]]共3种方法。题目思路: 这是一个典型的动态规...
阅读全文
摘要:题目来源: https://leetcode.com/problems/sqrtx/题意分析: 实现一个整型的开根。题目思路: 利用牛顿迭代法可以求解。首先讲数据类型转成浮点数,然后选取初始值为n/2,然后用牛顿迭代,直到迭代结果相差小于1.0,最后将浮点数转回整型。代码(Python): ...
阅读全文
摘要:题目来源: https://leetcode.com/problems/text-justification/题意分析: 输入一个字符串数组和一个规定长度L。将这个字符串数组的元素尽可能放到长度的L的字符串中,数组中的字符串不能拆开,一个长度L的字符串包括的若干个字符串之间用相等的空格间隔开。比...
阅读全文
摘要:题目来源: https://leetcode.com/problems/add-binary/题意分析: 这题是要将二进制相加,比如“11”,“1”,那么就返回“100”。题目思路: 模拟加法的过程,直接模拟,大于等于2就进位。代码(Python): 1 class Solution(ob...
阅读全文
摘要:题目来源: https://leetcode.com/problems/plus-one/题意分析: 给定一个数组,将数加一,返回新的数组。比如[9,9],返回[1,0,0]。题目思路: 这道题目很简单,尾数加1,然后如果进位就向前一个数字加1.代码(Python): 1 class So...
阅读全文
摘要:题目来源: https://leetcode.com/problems/valid-number/题意分析: 输入一个字符串,判断这个字符串表示的是不是一个有效的数字。比如: "0"=>true " 0.1 "=>true "abc"=>false "1 a"=>false "2e10...
阅读全文
摘要:题目来源: https://leetcode.com/problems/minimum-path-sum/题意分析: 给定一个m×n的非负矩阵,找到一条路使得从(0,0)到(m - 1,n - 1)经过的所有数字的和最小(类似上两题,只能向下和向上)。题目思路: 和上一题类似,用一个二维矩阵a...
阅读全文
摘要:题目来源: https://leetcode.com/problems/unique-paths-ii/题意分析: 这题的规则和上一题一样。给一个m×n的矩阵0,1矩阵。0代表可以经过,1代表不可以通过。返回从(0,0)到(m,n)一共有多少种走法。题目思路: 这题如果还是用组合的方法做将会非...
阅读全文
摘要:题目来源: https://leetcode.com/problems/unique-paths/题意分析: 给定两个整型m,n。判断从一个m×n的矩阵里面,从(0,0)走到(m-1,n-1)一共有多少种法(只能往下和往右走)。题目思路: 这可以看成一个组合问题。从(0,0)到(m-1,n-1...
阅读全文
摘要:题目来源: https://leetcode.com/problems/rotate-list/题意分析: 给定一个链表和一个整型k,在链表从右开始数k处开始旋转这个链表。题目思路: 首先要确定k是在那个地方,然后开始进行链表操作就可以了。要注意的是k有可能比链表长度要长,要将k mod 链表...
阅读全文
摘要:题目来源: https://leetcode.com/problems/permutation-sequence/题意分析: 输入1到9的一个数n。将[1,...,n]排列好。输出这个第k个排列。题目思路: 不难发现,以1开头的所有排列的个数一共(n-1)!。所以当k小于(n - 1)!那么开...
阅读全文
摘要:题目来源: https://leetcode.com/problems/spiral-matrix-ii/题意分析: 给定一个整型n,将1到n²按照螺旋规律输入一个n×n的矩阵里面。题目思路: 和前面一道螺旋矩阵类似。先初始化一个n×n矩阵。按照螺旋规律访问这个矩阵并填数。代码(python)...
阅读全文
摘要:题目来源: https://leetcode.com/problems/length-of-last-word/题意分析: 给出只包括大小写和空格的字符,输出最后一个单词的长度。题目思路: 从最后一个字符开始搜索,如果字符非空格,则往前推一位,直到不是空格,此时记录起始位置。然后继续搜索,直到...
阅读全文
摘要:题目来源: https://leetcode.com/problems/insert-interval/题意分析: 给定一个互相没交叉排好序的间隔,再给一个新的间隔,将这个间隔和原来的间隔串整合成新的间隔串。题目思路: 首先将新的间隔插入原来的间隔串。然后整合。代码(python): # D...
阅读全文
摘要:题目来源: https://leetcode.com/problems/merge-intervals/题意分析: 给定一连串的间隔,将有交叉的间隔整合起来。比如:给出[[1,3],[2,4]]那么应该返回[[1,4]]。要注意的是类似[[1,2],[2,3]]也要整合成[[1,3]]。题目思路...
阅读全文

浙公网安备 33010602011771号