自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Keep Coding

点关注,不迷路 ↓↓↓❤️

  • 博客(102)
  • 收藏
  • 关注

原创 LeetCode 700题 题解答案集合 Python

2019.5.12更新至题号796,目前共有265题。2019.5.26更新至题号72, 目前共有347题。2019.6.16更新至题号70,目前共有382题。2019.7.7更新至题号5120,目前共有442题。2019.8.5更新至题号1147,目前共有502题。2019.9.6更新至题号288, 目前共有551题。2019.11.13更新至题号426,目前共有602题...

2019-03-27 21:24:58 105233 12

原创 LeetCode-Python-503. 下一个更大元素 II

给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数; 第二...

2019-03-31 20:57:30 986

原创 LeetCode-Python-1017. 负二进制转换

给出数字N,返回由若干"0"和"1"组成的字符串,该字符串为N的负二进制(base -2)表示。除非字符串就是"0",否则返回的字符串中不能含有前导零。示例 1:输入:2输出:"110"解释:(-2) ^ 2 + (-2) ^ 1 = 2示例 2:输入:3输出:"111"解释:(-2) ^ 2 + (-2) ^ 1 + (-2) ^ 0 = 3...

2019-03-31 20:31:59 1048

原创 LeetCode-Python-1020. 飞地的数量

给出一个二维数组A,每个单元格为 0(代表海)或 1(代表陆地)。移动是指在陆地上从一个地方走到另一个地方(朝四个方向之一)或离开网格的边界。返回网格中无法在任意次数的移动中离开网格边界的陆地单元格的数量。示例 1:输入:[[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]输出:3解释: 有三个 1 被 0 包围。一个 1 没有被包围,...

2019-03-31 20:23:57 668

原创 LeetCode-Python-1019. 链表中的下一个更大节点

给出一个以头节点head作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ...。每个节点都可能有下一个更大值(next largervalue):对于node_i,如果其next_larger(node_i)是node_j.val,那么就有j > i且node_j.val> node_i.val,而j是可...

2019-03-31 20:18:57 1132

原创 LeetCode-Python-1018. 可被 5 整除的二进制前缀

给定由若干0和1组成的数组A。我们定义N_i:从A[0]到A[i]的第i个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表answer,只有当N_i可以被5整除时,答案answer[i]为true,否则为false。示例 1:输入:[0,1,1]输出:[true,false,false]解释:输入数字为 0,...

2019-03-31 20:15:01 637

原创 LeetCode-Python-31. 下一个排列

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3→1,3,23,2,1→1,2,31,1,5→1,5,1实现获思路:题目要求比当前排列的下一个排列,...

2019-03-30 23:20:55 2361

原创 LeetCode-Python-46. 全排列

给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]第一种思路:DFS+回溯。先考虑一位的情况,然后把递归地考虑去掉这一位数后的数组的全排列。class Solution(object): ...

2019-03-30 22:31:45 2819

原创 LeetCode-Python-40. 组合总和 II

给定一个数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。示例1:输入: candidates =[10,1,2,7,6,1,5], target =8,所求解集...

2019-03-30 22:12:15 1272

原创 LeetCode-Python-131. 分割回文串

给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。示例:输入:"aab"输出:[ ["aa","b"], ["a","a","b"]]class Solution(object): def partition(self, s): """ :type s: str ...

2019-03-30 22:08:37 1335

原创 LeetCode-Python-7. 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。...

2019-03-28 19:51:28 3332

原创 LeetCode-Python-554. 砖墙

你的面前有一堵方形的、由多行砖块组成的砖墙。这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿过最少砖块的垂线。砖墙由行的列表表示。 每一行都是一个代表从左至右每块砖的宽度的整数列表。如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你需要找出怎样画才能使这条线穿过的砖块数量最少,并且返回穿过的砖块数量。你不能沿着墙的两个垂直边缘之一画线,这样显然是没有穿过一块砖的。...

2019-03-28 19:36:18 944

原创 LeetCode-Python-463. 岛屿的周长

给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。...

2019-03-28 16:59:26 742

原创 LeetCode-Python-811. 子域名访问计数

一个网站域名,如"discuss.leetcode.com",包含了多个子域名。作为顶级域名,常用的有"com",下一级则有"leetcode.com",最低的一级为"discuss.leetcode.com"。当我们访问域名"discuss.leetcode.com"时,也同时访问了其父域名"leetcode.com"以及顶级域名"com"。给定一个带访问次数和域名的组合,要求分别计算每个...

2019-03-28 16:37:59 471

原创 LeetCode-Python-706. 设计哈希映射

不使用任何内建的哈希表库设计一个哈希映射具体地说,你的设计应该包含以下的功能put(key, value):向哈希映射中插入(键,值)的数值对。如果键对应的值已经存在,更新这个值。 get(key):返回给定的键所对应的值,如果映射中不包含这个键,返回-1。 remove(key):如果映射中存在这个键,删除这个数值对。示例:MyHashMap hashMap = new My...

2019-03-27 20:06:32 815

原创 LeetCode-Python-347. 前K个高频元素

给定一个非空的整数数组,返回其中出现频率前k高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]说明:你可以假设给定的k总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(nlogn) ,n是...

2019-03-27 19:53:53 1101 1

原创 LeetCode-Python-451. 根据字符出现频率排序

给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。示例 2:输入:"cccaaa"输出:"cccaaa"解释:'c'和'a'都出现三次。此外,"aaaccc"也是有效...

2019-03-27 19:47:12 1642

原创 LeetCode-Python-575. 分糖果

给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数...

2019-03-27 19:32:50 1193

原创 LeetCode-Python-49. 字母异位词分组

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。 不考虑答案输出的顺序。思路:建立hashm...

2019-03-27 19:16:08 1316

原创 LeetCode-Python-242. 有效的字母异位词

给定两个字符串s和t,编写一个函数来判断t是否是s的一个字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来...

2019-03-27 18:56:28 743

原创 LeetCode-Python-187. 重复的DNA序列

所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来查找 DNA 分子中所有出现超多一次的10个字母长的序列(子串)。示例:输入: s = "AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT"输出: ["AAAAACCCCC", "CCC...

2019-03-26 22:54:32 1060

原创 LeetCode-Python-290. 单词模式

给定一种pattern(模式)和一个字符串str,判断str是否遵循相同的模式。这里的遵循指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应模式。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输入:pattern = "abba...

2019-03-26 22:42:07 689

原创 LeetCode-Python-409. 最长回文串

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。思路:线性扫描一遍s,用hashmap统计一...

2019-03-26 22:31:23 822 2

原创 LeetCode-Python-500. 键盘行

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。示例:输入: ["Hello", "Alaska", "Dad", "Peace"]输出: ["Alaska", "Dad"]注意:你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。思路:水题。class Solution(object):...

2019-03-25 23:13:08 524

原创 LeetCode-Python-970. 强整数

给定两个正整数x和y,如果某一整数等于x^i + y^j,其中整数i >= 0且j >= 0,那么我们认为该整数是一个强整数。返回值小于或等于bound的所有强整数组成的列表。你可以按任何顺序返回答案。在你的回答中,每个值最多出现一次。示例 1:输入:x = 2, y = 3, bound = 10输出:[2,3,4,5,7,9,10]解释...

2019-03-25 23:11:56 645

原创 LeetCode-Python-784. 字母大小写全排列

给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例:输入: S = "a1b2"输出: ["a1b2", "a1B2", "A1b2", "A1B2"]输入: S = "3z4"输出: ["3z4", "3Z4"]输入: S = "12345"输出: ["12345"]注意:S的长度不超过12。...

2019-03-25 22:40:55 1401

原创 LeetCode-Python-410. 分割数组的最大值

给定一个非负整数数组和一个整数m,你需要将这个数组分成m个非空的连续子数组。设计一个算法使得这m个子数组各自和的最大值最小。注意:数组长度n满足以下条件:1 ≤n≤ 1000 1 ≤m≤ min(50,n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式...

2019-03-25 16:16:34 1577

原创 LeetCode-Python-897. 递增顺序查找树 (递归 + 迭代)

给定一个树,按中序遍历重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。示例 :输入:[5,3,6,2,4,null,8,1,null,null,null,7,9] 5 / \ 3 6 / \ \ 2 4 8/ / \ 1 7 9输出:...

2019-03-24 20:21:44 852

原创 LeetCode-Python-896. 单调数列

如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有i <= j,A[i] <= A[j],那么数组A是单调递增的。 如果对于所有i <= j,A[i]> = A[j],那么数组A是单调递减的。当给定的数组A是单调数组时返回true,否则返回false。示例 1:输入:[1,2,2,3]输出:true示例 2:...

2019-03-24 20:20:25 675

原创 LeetCode-Python-1014. 最佳观光组合

给定正整数数组A,A[i]表示第i个观光景点的评分,并且两个景点i和j之间的距离为j - i。一对景点(i < j)组成的观光组合的得分为(A[i] + A[j] + i- j):景点的评分之和减去它们两者之间的距离。返回一对观光景点能取得的最高分。示例:输入:[8,1,5,2,6]输出:11解释:i = 0, j = 2, A[i] + A[...

2019-03-24 11:58:25 1080

原创 LeetCode-Python-1015. 可被 K 整除的最小整数

给定正整数K,你需要找出可以被 K 整除的、仅包含数字1的最小正整数 N。返回N的长度。如果不存在这样的N,就返回-1。示例 1:输入:1输出:1解释:最小的答案是 N = 1,其长度为 1。示例 2:输入:2输出:-1解释:不存在可被 2 整除的正整数 N 。示例 3:输入:3输出:3解释:最小的答案是 N = 111,其长...

2019-03-24 11:25:20 1010

原创 LeetCode-Python-1016. 子串能表示从 1 到 N 数字的二进制串

给定一个二进制字符串S(一个仅由若干'0' 和 '1' 构成的字符串)和一个正整数N,如果对于从1到N的每个整数X,其二进制表示都是S的子串,就返回true,否则返回false。示例 1:输入:S = "0110", N = 3输出:true示例 2:输入:S = "0110", N = 4输出:false提示:1 &l...

2019-03-24 11:21:25 770

原创 LeetCode-Python-1013. 将数组分成和相等的三个部分

给定一个整数数组A,只有我们可以将其划分为三个和相等的非空部分时才返回true,否则返回false。形式上,如果我们可以找出索引i+1 < j且满足(A[0] + A[1] + ... + A[i] == A[i+1] + A[i+2] + ... + A[j-1] == A[j] + A[j-1] + ... + A[A.length - 1])就可以将数组三等分。...

2019-03-24 11:19:57 1220 3

原创 LeetCode-Python-551. 学生出勤记录 I

给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:'A': Absent,缺勤 'L': Late,迟到 'P': Present,到场如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤记录判断他是否会被奖赏。示例 1:输入: "PPALLP"输出: True示例...

2019-03-23 23:46:36 844

原创 LeetCode-Python-844. 比较含退格的字符串

给定S和T两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。#代表退格字符。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示例 3:输入...

2019-03-23 23:36:02 622

原创 LeetCode-Python-875. 爱吃香蕉的珂珂

珂珂喜欢吃香蕉。这里有N堆香蕉,第i堆中有piles[i]根香蕉。警卫已经离开了,将在H小时后回来。珂珂可以决定她吃香蕉的速度K(单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉K根。如果这堆香蕉少于K根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。返回她可以在H小时内吃掉所有...

2019-03-23 22:39:51 1325

原创 LeetCode-Python-441. 排列硬币

你总共有n枚硬币,你需要将它们摆成一个阶梯形状,第k行就必须正好有k枚硬币。给定一个数字n,找出可形成完整阶梯行的总行数。n是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行:¤¤ ¤¤ ¤因为第三行不完整,所以返回2.示例 2:n = 8硬币可排列成以下几行:¤¤ ¤¤ ¤ ¤¤ ¤...

2019-03-23 21:05:14 637

转载 LeetCode-Python-860. 柠檬水找零

在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回true,否则返回false。示例 1:输入...

2019-03-23 21:01:44 618

原创 LeetCode-Python-888. 公平的糖果交换

爱丽丝和鲍勃有不同大小的糖果棒:A[i]是爱丽丝拥有的第i块糖的大小,B[j]是鲍勃拥有的第j块糖的大小。因为他们是朋友,所以他们想交换一个糖果棒,这样交换后,他们都有相同的糖果总量。(一个人拥有的糖果总量是他们拥有的糖果棒大小的总和。)返回一个整数数组ans,其中ans[0]是爱丽丝必须交换的糖果棒的大小,ans[1]是 Bob 必须交换的糖果棒的大小。如果有多个...

2019-03-22 23:07:57 845

原创 LeetCode-Python-884. 两句话中的不常见单词

给定两个句子A和B。(句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。返回所有不常用单词的列表。您可以按任何顺序返回列表。示例 1:输入:A = "this apple is sweet", B = "this apple is sour"输出:["sweet...

2019-03-22 22:25:25 607

空空如也

空空如也

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

TA关注的人

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