自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 刷题记录(高频算法面试题汇总)--除自身以外数组的乘积

除自身以外数组的乘积 给定长度为n的整数数组nums,其中n> 1,返回输出数组output,其中output[i]等于nums中除nums[i]之外其余各元素的乘积。 示例: 输入: [1,2,3,4] 输出: [24,12,8,6] 说明:请不要使用除法,且在O(n) 时间复杂度内完成此题。 class Solution: def pr...

2019-03-29 11:18:31 283

原创 leetcode 刷题记录(高频算法面试题汇总)--乘积最大子序列

乘积最大子序列 给定一个整数数组nums,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释:子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释:结果不能为 2, 因为 [-2,-1] 不是子数组。 class Solution: def maxPr...

2019-03-29 11:11:19 349

原创 leetcode 刷题记录(高频算法面试题汇总)--递增的三元子序列

递增的三元子序列 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。 数学表达式如下: 如果存在这样的i, j, k,且满足0 ≤i<j<k≤n-1, 使得arr[i]<arr[j]<arr[k],返回 true ;否则返回 false 。 说明:要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。 ...

2019-03-29 11:07:56 277

原创 leetcode 刷题记录(高频算法面试题汇总)--打乱数组

打乱数组 打乱一个没有重复元素的数组。 示例: // 以数字集合 1, 2 和 3 初始化数组。 int[] nums = {1,2,3}; Solution solution = new Solution(nums); // 打乱数组 [1,2,3] 并返回结果。任何 [1,2,3]的排列返回的概率应该相同。 solution.shuffle(); // 重设数组到它的初始状态[1,...

2019-03-29 11:02:03 496

原创 leetcode 刷题记录(高频算法面试题汇总)--逆波兰表达式求值

根据逆波兰表示法,求表达式的值。 有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例1: 输入: ["2", "1", "+", "3", "*"] 输出: 9 解释: ((2 + 1) * 3) = 9 示...

2019-03-27 17:30:21 210

原创 leetcode 刷题记录(高频算法面试题汇总)--扁平化嵌套列表迭代器

给定一个嵌套的整型列表。设计一个迭代器,使其能够遍历这个整型列表中的所有整数。 列表中的项或者为一个整数,或者是另一个列表。 示例 1: 输入: [[1,1],2,[1,1]] 输出: [1,1,2,1,1] 解释: 通过重复调用next 直到hasNext 返回false,next返回的元素的顺序应该是: [1,1,2,1,1]。 示例 2: 输入: [1,[4,[6]]] ...

2019-03-27 17:25:50 199

原创 leetcode 刷题记录(高频算法面试题汇总)--基本计算器 II

实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+,-,*,/四种运算符和空格。 整数除法仅保留整数部分。 示例1: 输入: "3+2*2" 输出: 7 示例 2: 输入: " 3/2 " 输出: 1 示例 3: 输入: " 3+5 / 2 " 输出: 5 说明: 你可以假设所给定的表达式都是有效的。 请不要使用内置的库...

2019-03-27 17:12:00 249

原创 leetcode 刷题记录(高频算法面试题汇总)--前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 17:04:35 1062

原创 leetcode 刷题记录(高频算法面试题汇总)--数组中的第K个最大元素

在未排序的数组中找到第k个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 说明: 你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。 class Sol...

2019-03-27 16:58:17 205

原创 leetcode 刷题记录(高频算法面试题汇总)--最小栈

设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x)-- 将元素 x 推入栈中。 pop()-- 删除栈顶的元素。 top()-- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.pus...

2019-03-26 15:43:10 832

原创 leetcode 刷题记录(高频算法面试题汇总)--两个数组的交集 i & ii

给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 class Solution: ...

2019-03-25 21:49:57 251

原创 leetcode 刷题记录(高频算法面试题汇总)--移动零

给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 class Solution: def moveZeroes(self, nums: List[int]) -> None: ...

2019-03-23 16:14:43 762

原创 leetcode 刷题记录(高频算法面试题汇总)--存在重复元素

给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: false 示例3: 输入: [1,1,1,3,3,4,3,2,4,2] 输出: true class Solution: ...

2019-03-22 16:37:17 399

原创 leetcode 刷题记录(高频算法面试题汇总)--旋转数组

给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4] 示例2: 输入: [-1,-100,3,...

2019-03-22 16:17:18 254

原创 leetcode 刷题记录(高频算法面试题汇总)--字符串中的第一个唯一字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. class Solution: def firstUniqChar(self, s: str) -> int: ch = [0]*26 if len(s...

2019-03-20 21:00:59 261

原创 leetcode 刷题记录(高频算法面试题汇总)--有效的字母异位词

给定两个字符串s和t,编写一个函数来判断t是否是s的一个字母异位词。 示例1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母。 class Solution: def isAnagram(sel...

2019-03-20 20:17:40 150

原创 leetcode 刷题记录(高频算法面试题汇总)--合并两个有序数组

给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。 说明: 初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 ...

2019-03-20 19:01:23 191

原创 leetcode 刷题记录(高频算法面试题汇总) -- 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出: false class Solution: def isPalindrome(se...

2019-03-20 18:57:52 315

原创 leetcode 刷题记录(高频算法面试题汇总) -- 搜索二维矩阵 ii

https://leetcode-cn.com/problems/search-a-2d-matrix-ii/ 编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, ...

2019-03-20 16:13:03 264

空空如也

空空如也

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

TA关注的人

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