自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (1)
  • 收藏
  • 关注

原创 876. Middle of the Linked List查找链表中间位置Java

给head定单链表的 ,返回链表的中间节点。如果有两个中间节点,则返回第二个中间节点。示例 1:输入: head = [1,2,3,4,5]输出: [3,4,5]解释:列表的中间节点是节点 3。示例 2:输入: head = [1,2,3,4,5,6]输出: [4,5,6]解释:由于列表有两个中间节点,值为 3 和 4,我们返回第二个。约束:列表中的节点数在范围内[1, 100]。1 <= Node.val <= 100方法1设置两个快慢指针, 快指针每次向后挪两

2021-11-23 14:27:03 729

原创 557. Reverse Words in a String III

给定一个 string s,颠倒句子中每个单词的字符顺序,同时仍然保留空格和初始单词顺序。示例 1:Input: s = “Let’s take LeetCode contest”Output: “s’teL ekat edoCteeL tsetnoc”示例 2:Input: s = “God Ding”Output: “doG gniD”约束:1 <= s.length <= 5 * 104s包含可打印的ASCII字符。s 不包含任何前导或尾随空格。有至少一个字s。中的

2021-11-22 14:12:21 258

原创 344. Reverse String反转字符串Java

编写一个反转字符串的函数。输入字符串作为字符数组给出s。您必须通过使用额外内存就地修改输入数组来完成此操作O(1)。示例 1:输入: s = [“h”,“e”,“l”,“l”,“o”]输出: [“o”,“l”,“l”,“e”,“h”]示例 2:输入: s = [“H”,“a”,“n”,“n”,“a”,“h”]输出: [“h”,“a”,“n”,“n”,"a “,“H”]约束:1 <= s.length <= 105s[i]是可打印的 ascii 字符。思路设置两个指针, 分

2021-11-22 08:07:37 453

原创 1567. Maximum Length of Subarray With Positive Product具有正积的子阵列的最大长度Java

给定一个整数数组nums,找出所有元素乘积为正的子数组 的最大长度。数组的子数组是从该数组中取出的零个或多个值的连续序列。返回 具有正积的子数组的最大长度。示例 1:输入: nums = [1,-2,-3,4]输出: 4解释:数组 nums 已经有 24 的正乘积。示例 2:输入: nums = [0,1,-2,-3,-4]输出: 3解释:具有正积的最长子数组是 [1,-2,-3],其积为 6。请注意,我们不能在子数组中包含 0,因为这会使乘积 0 不是正数。示例 3:输入: nu

2021-11-20 10:59:57 366

原创 152. Maximum Product Subarray最大乘积子阵列Java

给定一个整数数组nums,在数组中找到一个连续的非空子数组,该子数组具有最大的乘积,并返回乘积。可以保证答案适合32 位整数。子阵列是所述阵列的连续子序列。示例 1:输入: nums = [2,3,-2,4]输出: 6解释: [2,3] 有最大的乘积 6。示例 2:输入: nums = [-2,0,-1]输出: 0解释:结果不能是 2,因为 [-2,-1] 不是子数组。约束:1 <= nums.length <= 2 * 104-10 <= nums[i] &lt

2021-11-20 09:52:46 209

原创 918. Maximum Sum Circular Subarray最大和环形子阵列Java

给定一个圆形整数数组 nums长度的n,返回一个非空的最大可能的总和子阵列的nums。甲圆形阵列装置阵列连接到阵列的开头的结束。从形式上看,下一个元素nums[i]就是nums[(i + 1) % n]和以前的元素nums[i]就是nums[(i - 1 + n) % n]。一个子数组nums最多只能包含固定缓冲区的每个元素一次。形式上,对于一个子数组nums[i], nums[i + 1], …, nums[j],不存在i <= k1,k2 <= j与k1 % n == k2 % n。示

2021-11-17 13:30:27 256

原创 566. Reshape the Matrix重塑矩阵Java

在 MATLAB 中,有一个方便的函数调用reshape,它可以将m x n矩阵重塑为具有不同大小的新矩阵,并r x c保留其原始数据。给你一个m x n矩阵mat和两个整数r,c代表想要的重构矩阵的行数和列数。重构后的矩阵应该以与它们相同的行遍历顺序填充原始矩阵的所有元素。如果reshape给定参数的运算可行且合法,则输出新的整形矩阵;否则,输出原始矩阵。示例 1:输入: mat = [[1,2],[3,4]], r = 1, c = 4输出: [[1,2,3,4]]示例 2:输入:

2021-11-14 07:32:55 656

原创 283. Move Zeroes将0挪到后面 Java

给定一个整数数组nums,将 all 移到0它的末尾,同时保持非零元素的相对顺序。请注意,您必须在不复制数组的情况下就地执行此操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]约束:1 <= nums.length <= 104-231 <= nums[i] <= 231 - 1方法1遍历每个数, 如果当前数位0则与后面不为0的数调换class Solution

2021-11-11 08:54:19 201

原创 740. Delete and Earn删除和赚取 Java

给定一个整数数组nums。您希望通过多次执行以下操作来最大化获得的分数:选择任何nums[i]并删除它以获得nums[i]积分。之后,您必须删除每个等于 的元素nums[i] - 1和每个等于 的元素nums[i] + 1。通过多次应用上述操作返回您可以获得的最大积分数。示例 1:输入: nums = [3,4,2]输出: 6解释:您可以执行以下操作:删除 4 获得 4 分。因此,3 也被删除。数字 = [2]。删除 2 获得 2 分。数字 = []。您总共获得 6 分。示例 2:输

2021-11-07 06:39:41 134

原创 213. House Robber II抢劫房子2 Java

你是一名职业劫匪,计划抢劫街道上的房屋。每个房子都藏着一定数量的钱。这个地方的所有房屋都排成一个圆圈。这意味着第一个房子是最后一个房子的邻居。同时,相邻的房屋都连接了一个安全系统,如果同一天晚上有两个相邻的房屋被闯入, 它会自动报警。给定一个nums表示每所房子的钱数的整数数组,返回你今晚可以在不惊动警察的情况下抢劫的最大金额。示例 1:输入: nums = [2,3,2]输出: 3解释:你不能先抢房子 1(钱 = 2)然后再抢房子 3(钱 = 2),因为它们是相邻的房子。示例 2:输入: n

2021-11-06 04:58:32 82

原创 350. Intersection of Two Arrays II寻找两个数组交集Java

给定两个整数数组nums1and nums2,返回它们的交集数组。结果中的每个元素必须出现与它在两个数组中显示的一样多的次数,并且您可以按任何顺序返回结果。示例 1:输入: nums1 = [1,2,2,1],nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]解释: [9,4] 也被接受。约束:1 <= nums1.length, nums2.length <= 10000

2021-11-05 07:47:01 146

原创 746. Min Cost Climbing Stairs最小花费上楼梯Java

给定一个整数数组cost,其中cost[i]是楼梯上的步骤成本。支付费用后,您可以爬上一两步。您可以从步骤与指数无论是启动0,或索引步骤1返回到达楼层顶部的最低成本。示例 1:输入: cost = [10, 15 ,20]输出: 15解释:你将从索引 1 开始。支付 15 并爬两步到达顶部。总成本是15。示例 2:输入: cost = [ 1 ,100, 1 ,1, 1 ,100, 1 , 1 ,100, 1 ]输出: 6解释:你将从索引 0 开始。支付 1 并爬两步到达指数

2021-11-04 09:44:07 102

原创 977. Squares of a Sorted Array有序数组的平方Java

给定一个nums按非降序排序的整数数组,返回一个按非降序排序的每个数字的平方数组示例 1:输入: nums = [-4,-1,0,3,10]输出: [0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]。排序后变成[0,1,9,16,100]。示例 2:输入: nums = [-7,-3,2,3,11]输出: [4,9,9,49,121]约束:1 <= nums.length <= 104-104 <= nums[i] <= 104n

2021-11-02 09:26:54 76

原创 1137. N-th Tribonacci Number第n个Tribonacci数Java

Tribonacci 数列 T n定义如下:T 0 = 0,T 1 = 1,T 2 = 1,且 T n+3 = T n + T n+1 + T n+2对于 n >= 0。给定n,返回 T n的值。示例 1:输入: n = 4输出: 4解释:T_3 = 0 + 1 + 1 = 2T_4 = 1 + 1 + 2 = 4示例 2:输入: n = 25输出: 1389537Notice0 <= n <= 37答案保证适合 32 位整数,即。answer <= 2^

2021-11-01 09:02:15 97

原创 509. Fibonacci Number斐波那契数Java

所述斐波那契数,通常表示为F(n)形式的序列,称为斐波纳契数列,使得每个数字是两个前述者的总和,起始0和1。F(0) = 0, F(1) = 1F(n) = F(n - 1) + F(n - 2),对于 n > 1。给定n,计算F(n)。示例 1:输入: n = 2输出: 1解释: F(2) = F(1) + F(0) = 1 + 0 = 1。示例 2:输入: n = 3输出: 2解释: F(3) = F(2) + F(1) = 1 + 1 = 2。示例 3:输入: n = 4

2021-11-01 07:45:13 104

原创 278. First Bad Version寻找第一个坏的版本Java

您是产品经理,目前正在领导一个团队开发新产品。不幸的是,您产品的最新版本未通过质量检查。由于每个版本都是在上一个版本的基础上开发的,所以一个坏版本之后的所有版本也是坏的。假设您有n版本[1, 2, …, n]并且您想找出第一个坏的版本,这会导致以下所有版本都是坏的。您将获得一个 API bool isBadVersion(version),该 API会返回是否version错误。实现一个函数来查找第一个坏版本。您应该尽量减少对 API 的调用次数。示例 1:输入: n = 5, bad = 4输出

2021-10-31 12:52:13 123

原创 704. Binary Search二分查找Java

给定整数的数组nums,其按升序排序,和一个整数target,写一个函数来搜索target在nums。如果target存在,则返回其索引。否则,返回-1。编写具有O(log n)运行时复杂性的算法。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: nums 中存在 9,其索引为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 在 nums 中不存在所以返回 -1Notic

2021-10-31 12:47:53 87

原创 64. Minimum Path Sum最短路径的加和

给定一个用非负数填充的mxn网格,请找到一条从左上方到右下方的路径,该路径将沿其路径的所有数字的总和最小。注意:只能在任何时间点向下或向右移动。Input:[ [1,3,1], [1,5,1], [4,2,1] ]Output: 6Input: [ [1,2,5], [3,2,1] ]Output: 6Clue: 求出到每个点的最小值, 一直到最后一位。1. 首先设置一个临时的矩阵用来存储加和结果2. 求出第一行和第一列的加和3. 求出内部...

2020-08-29 13:03:15 142

原创 62. Unique Paths不同的路径到达终点Python

机器人位于mxn网格的左上角(在下图中标记为“开始”)。机器人只能在任何时间点上下移动。机器人试图到达网格的右下角(在下图中标记为“完成”)。有多少种可能的独特路径?

2020-08-25 10:42:39 199

原创 56. Merge Intervals合并中间的数Python

给定间隔的集合,合并所有重叠的间隔。每个sublist都有两个数,并且左侧小于等于右侧。Input:intervals = [[1,3],[2,6],[8,10],[15,18]]Output:[[1,6],[8,10],[15,18]][1,3],[2,6]重叠,合并成[1,6]Input:[[1,4],[4,5]]Output:[[1,5]]Method 1 对原list进行合并操作1. 将list排序之后遍历每个list里面的子集intervals=sorted(in.

2020-08-24 11:45:21 261

原创 49. Group Anagrams将组成相同的单词合并为一组Python

给定一个字符串,将字母颠倒的合并为一组。Input:strs=["eat", "tea", "tan", "ate", "nat", "bat"]Output:[['eat', 'tea', 'ate'], ['tan', 'nat'], ['bat']]Method1 setdefault运用1. 既然字母顺序不确定,为了看是否是相同的一组,就用sorted()给他们做一个排序。这时,strs里面中的每一组字符串变为:['a', 'e', 't'],['a', 'e', 't'],['

2020-08-23 06:34:58 398

原创 55. Jump Game蹦蹦游戏Python & Java

给定一个非负整数数组,您最初位于该数组的第一个索引处。数组中的每个元素代表该位置的最大跳转长度。确定您是否能够达到最后一个索引。类似于第45题Input:nums = [2,3,1,1,4]Output: TrueInput: [3,2,1,0,4]Output: False1. 初始化一个index=0用来判断能否蹦到最后一个位置2. 遍历所有的数,如果当前的数加上当前的位置大于等于index(即目前可以跳到最远的位置),那就把index的值更新if cur+nums[cur.

2020-08-18 10:38:25 168

原创 48. Rotate Image旋转矩阵Python

输入一个表示图像的nxn2D矩阵。将图像旋转90度(顺时针)注意:必须就地旋转图像,这意味着您必须直接修改输入2D矩阵。不要分配另一个2D矩阵并进行旋转。Input: matrix=[[1,2,3],[4,5,6],[7,8,9]]Output:[[7,4,1],[8,5,2],[9,6,3]]上面为数字下面为旋转后之前的行列位置由于不可以用其他矩阵,将数存入新的矩阵的想法流产,但是可以作为参考n = np.arange(1, 17).reshape([4,4])...

2020-08-16 07:41:46 429

原创 46. Permutations排列Python

给定一组不相等的整数,返回所有排列。Input:[1,2,3]Output:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]Method 1迭代,定义一个临时的空list,for循环每次先判断这个数是否存在temp里面,如果不存在就存贮到temp。当temp长度与nums长度相同时,将temp存到需要输出的res中。思路与39题类似。class Solution: def permute(self, nums: List[.

2020-08-04 06:43:43 222

原创 45. Jump Game II蹦蹦游戏II Python&Java

给定一个非负整数数组,您最初位于该数组的第一个索引处。数组中的每个元素代表该位置的最大跳转长度。目标是在最少的跳数中达到最后的索引。Input:[2,3,1,1,4]Output:2 (第一步从2到3, 然后从3到4)Clue: 其实就每次选择当前数值A的后A位最大值B的位置, 然后以以B为标准重复选择后面B个数的最大值直到最后。class Solution: def jump(self, nums: List[int]) -> int: if len(num

2020-08-03 10:42:42 155

原创 42. Trapping Rain Water接水Python

给定n个表示高度的非负整数,其中每个条的宽度为1,计算下雨后它能捕获多少水。Input:[0,1,0,2,1,0,1,3,2,1,2,1]Output:6Method 1以数组中最大值为标准,area=max×len(height)。每次循环都减掉没有达到最大值的部分的那层。如下图,第一次减掉黄色的部分,第二次减掉蓝色的部分,第三次减掉粉色的部分。最后结果减掉所有数的和,剩下的就是装水量。用l和r代表左右两侧,每次l从0开始,r从数组的长度开始向中间合并。当l或者r位置的值小于数

2020-08-01 12:30:02 181

原创 41. First Missing Positive查找list中缺少的最小正整数Python

给定一个未排序的数组,查找出里面缺少的最小正整数。Input Output [1,0,2] 3 [3,2,4,1] 5 [0,2,-1] 1 Clue: 从1开始到数组中的最大值,如果这个数没有在数组中出现则返回这个数。为了防止数组为空或者里面的数都小于1,所以最后要返回1。6行解决。line1-2:数组为空返回1line3-5:数组不存在当前的数,max(nums)+2是因为当数组中最大值是1时,需要将循环进行2次。for循环的range是左闭右开.

2020-07-31 07:31:51 785

原创 39. Combination Sum组合加和等于特定值Python

给定一组候选编号candidates(没有重复项)和特定值target,找到candidates候选数总和为的所有唯一组合target。candidates里面的数可以重复。Input:candidates=[2,3,4,7] target=7Output:[[2,2,3],[2,2,4],[7]]Clue:运用迭代方法1. 定义一个函数,里面包括i,path两个变量分别表示在candidates的数字位置和存储目前位置进行加和操作的数字。如果>target则终止迭代;如果=targ.

2020-07-31 05:05:06 478

原创 34. Find First and Last Position of Element in Sorted Arra在升序数组中查找元素的第一个和最后一个位置Python

给定一个以升序排列的整数nums数组,找到给定目标值的开始和结束位置。如果不存在数组中则返回[-1, -1]算法的时间复杂度需为O(logn)Input:nums = [5,7,7,8,8,10], target = 8Output: [3, 4]Input:nums = [5,7,7,8,8,10], target = 8Output: [-1, -1]Clue: 同33题思路,用二分法。定义左右中间三个变量(l,r,mid),左右分别为等于target时的开始和结尾;-&..

2020-07-29 07:38:09 96

原创 33. Search in Rotated Sorted Array搜索旋转排序数组Python

假设以升序排序的数组在事先未知的某个轴上旋转。即[0,1,2,4,5,6,7]可能成为[4,5,6,7,0,1,2])。将为您提供要搜索的目标值target。如果在数组中找到,则返回其索引,否则返回-1。注:假定数组中不存在重复项。算法的运行时复杂度必须为O(logn)。Input: nums=[4,5,6,7,0,1,2] target: 4Output: 0Input: nums=[4,5,6,7,0,1,2] target=3Output: -1Method...

2020-06-28 12:02:28 175

原创 32. Longest Valid Parentheses最长有效括号Python

给定仅包含字符'('和')'的字符串,请找到最长的有效(格式正确)括号子字符串的长度。Input: '(()'Output: 2 '()'长度为2Input: ')()())'Output: 4 '()()'长度为4Method 1遍历所有连续的子括号,如果有效则取最大的长度(Time Limit Exceeded超时)首先利用之前22题第二个方法判断括号是否有效的函数判断是否有效。然后遍历连续括号,括号要限定以‘(’为开头。将括号添加到一个新的变量res中,如果满足有效括号..

2020-06-26 10:53:20 178

原创 23. Merge k Sorted Lists合并k个排序链表

合并k个排序的链表,并将其作为一个排序表返回。分析并描述其复杂性。Input:[ 1->4->5, 1->3->4, 2->6 ]Output:1->1->2->3->4->4->5->6Clue: 建立一个list将节点对应的值存到list里面,然后对list进行排序, 将里面的点输出为ListNode形式# Definition for singly-linked list.# class Lis...

2020-06-25 11:43:35 171

原创 22. Generate Parentheses产生括号Python

给定n对括号,编写一个函数以生成格式正确的括号的所有组合。Input: n=3Output:["((()))","(()())","(())()","()(())","()()()"]

2020-06-21 06:54:21 182

原创 Pycharm:No module named ‘encodings‘报错

这个方法适合电脑的python解释器不小心卸载或者没有安装的。如果确定电脑装了python那就把路径添加到pycharm的解释器里面就可以了。下面有说解释器如何安装。Fatal Python error: Py_Initialize: unable to load the file system codecModuleNotFoundError: No module named 'encodings'Current thread 0x000032c8 (most recent call first

2020-06-20 11:15:37 7999

原创 19. Remove Nth Node From End of List从链表结尾删除第n个节点Python

给定一个链表,从列表末尾删除第n个节点并返回其头。Input:1->2->3->4->5, n=2Output:1->2->3->5Method 1 将链表转为list删掉指定位置数字之后, 转为链表输出1. 将链表中的数字存入list中{l=[] ; while head: l.append(head.val) head=head.next}2.删除倒数第n个数字然后将list中的...

2020-06-18 11:28:42 263

原创 17. Letter Combinations of a Phone Number电话号码的字母组合Python

给定一个包含数字(2-9包含在内)的字符串,请返回该数字可以表示的所有可能的字母组合。下面给出了数字到字母的映射(就像在电话按钮上一样)。请注意,1不会映射到任何字母。Input: '22'Ouput:['aa', 'ab', 'ac', 'ba', 'bb', 'bc', 'ca', 'cb', 'cc']Clue: 建立字典,然后迭代。迭代:需要一个当前进行操作的数字和接下来需要操作的数字。{def dd(cur,next): if next: ...

2020-06-18 06:31:08 188

原创 15. 3Sum三个数加和等于0Python

给定一个由n个整数组成的数组,是否存在以a + b + c = 0的元素a,b,c?在给出零和的数组中查找所有唯一的三元组。注意:给出的3个数一组的结果不能重复Input:[-1,0,1,2,-1,-4]Output:[[-1,-1,2], [-1,0,1]]Clue: 将list排序之后, 用for循环遍历里面的数字i, 设置一个l表示i后面的数, r表示排序后list右面的数。如果i和之前的i数字重复则跳过,因为结果不能重复。1. 对list进行排序,建立一个空的list用来

2020-06-17 13:14:11 798

原创 11. Container With Most Water最多装多少水Python

给定n个非负整数a1,a2,...,an,其中每个代表坐标(i,ai)上的一个点。绘制n条垂直线,使线i的两个端点位于(i,ai)和(i,0)处。找到两条线,它们与x轴一起形成一个容器,以便该容器包含最多的水。注意:不会倾斜容器,并且n至少为2Input:[1,8,6,2,5,4,8,3,7]Output: 49Clue: 从左右两侧开始算每一次的最大容水量, 最大容水量要以两者最小值为基础class Solution: def maxArea(self,...

2020-06-16 15:21:24 154

原创 10. Regular Expression Matching正则表达式匹配Python

给定一个输入字符串s和一个模板p,实现支持'.'的正则表达式匹配和'*',p必须涵盖所有s中的字符串。.;可以表示任何单一字符串*:可以表示0个或者多个前一个字符假设s由a-z字母组成,p由a-z和.*组成Input Output s='ab' p='.*' True(.=a,;*=.=任意字符=b) s='aab' p='c*a*b' True(p=c0aab) s='mississippi' p='mis*is*p*.' False(p=mi...

2020-06-15 08:28:13 213

原创 5. Longest Palindromic Substring最长子回文字符串Python

给定字符串s,找到s中最长的回文子字符串。您可以假设s的最大长度为1000。Input Output "" "" "abc" "a" "ababc" "bab" Method 1 建立两个循环, 遍历每个子字符串判断是否为palindromic1. 如果字符串为空则需要返回空2. 如果字符串没有回文,则需要返回第一个字母3. 如果后面的palindromic substring比之前的长度长, 需要替换掉之前的判断是否为回文用125题的方法, 将字

2020-06-14 06:15:52 184

sqlJoin.jpg

MySQL join summary graph and code.I just wanna submit a .jpg,

2020-05-31

空空如也

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

TA关注的人

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