数组
str_818
这个作者很懒,什么都没留下…
展开
-
【Leetcode】26. 删除有序数组中的重复项(Remove Duplicates from Sorted Array)
Leetcode - 26 Remove Duplicates from Sorted Array (Easy)Given nums = [0,0,1,1,1,2,2,3,3,4],Your function should return length = 5, with the first five elements of nums being modified to 0, 1, 2, 3,...原创 2019-06-05 08:32:15 · 614 阅读 · 0 评论 -
【Leetcode】34. 在排序数组中查找元素的第一个和最后一个位置(Find First and Last Position of Element in Sorted Array)
Leetcode - 34 Find First and Last Position of Element in Sorted Array (Medium)题目描述:给定一个有序序列与一个 target 值,求出 target 在有序序列中的区间,时间复杂度要求为 O(logn),若没有 target 值,则返回 [-1, -1]。Input: nums = [5,7,7,8,8,10], t...原创 2019-06-06 09:56:32 · 233 阅读 · 0 评论 -
【Leetcode】1018. 可被 5 整除的二进制前缀(Binary Prefix Divisible By 5)
Leetcode - 1018 Binary Prefix Divisible By 5 (Easy)题目描述:给定一个由 0 和 1 组成的数组,定义 Ni 为 从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表 answer,判断 Ni 是否能够被 5 整除。Input: [0,1,1,1,1,1]Output: [true,f...原创 2019-05-31 22:34:41 · 173 阅读 · 0 评论 -
【Leetcode】1013. 将数组分成和相等的三个部分(Partition Array Into Three Parts With Equal Sum)
Leetcode - 1013 Partition Array Into Three Parts With Equal Sum (Easy)题目描述:判断数组是否能够分成和相等的三个部分。Input: [0,2,1,-6,6,-7,9,1,2,0,1]Output: trueExplanation: 0 + 2 + 1 = -6 + 6 - 7 + 9 + 1 = 2 + 0 + 1p...原创 2019-05-29 08:42:10 · 167 阅读 · 0 评论 -
【Leetcode】33. 搜索旋转排序数组(Search in Rotated Sorted Array)
Leetcode - 33 Search in Rotated Sorted Array (Medium)题目描述:给定一个旋转的有序数组,例如有序数组 [0,1,2,4,5,6,7] 经一次旋转后可得 [4,5,6,7,0,1,2] ,再给定一个 target 值,返回 target 值在数组中的下标,如果不在返回 -1,假设数组中无重复元素,时间复杂度要求为 O(logn)。Input:...原创 2019-06-06 09:40:03 · 388 阅读 · 0 评论 -
【Leetcode】896. 单调数列(Monotonic Array)
Leetcode - 896 Monotonic Array (Easy)题目描述:判断一个数组是单调递增还是单调递减。public boolean isMonotonic(int[] A) { int direction = A[A.length - 1] >= A[0] ? 1 : -1; for (int i = 1; i < A.length; i++) {...原创 2019-05-29 08:28:47 · 144 阅读 · 0 评论 -
【Leetcode】888. 公平的糖果交换(Fair Candy Swap)
Leetcode - 888 Fair Candy Swap (Easy)题目描述:两个人分别有数组 A 与数组 B 块糖,让他们两个交换一块糖使得交换后两人拥有的糖数相同,即 A、B 两数组数组和相同。Input: A = [1,1], B = [2,2]Output: [1,2]解题思路:公式求解,sum(A) - x + y = sum(B) - y + x => y = x...原创 2019-05-29 08:14:23 · 247 阅读 · 0 评论 -
【Leetcode】867. 转置矩阵(Transpose Matrix)
Leetcode - 967 Transpose Matrix (Easy)题目描述:行列互换。Input: [[1,2,3],[4,5,6],[7,8,9]]Output: [[1,4,7],[2,5,8],[3,6,9]]public int[][] transpose(int[][] A) { int[][] res = new int[A[0].length][A.len...原创 2019-05-28 17:31:43 · 196 阅读 · 0 评论 -
【Leetcode】121. 最佳买卖股票的时间 I(Best Time to Buy and Sell Stock)
Leetcode - 121 Best Time to Buy and Sell Stock (Easy)题目描述:最多交易一次。解法一:DPpublic int maxProfit(int[] prices) { if(prices == null || prices.length == 0) return 0; int[][] mp = new int[prices.le...原创 2019-05-31 11:23:48 · 114 阅读 · 0 评论 -
【Leetcode】830. 较大分组的位置(Positions of Large Groups)
Leetcode - 830 Positions of Large Groups (Easy)题目描述:给定一个字符串由连续相同的字母组成,找出连续字母数量超过 3 的起始位置。Input: "abbxxxxzzy"Output: [[3,6]]Explanation: "xxxx" is the single large group with starting 3 and ending...原创 2019-05-31 11:13:44 · 142 阅读 · 0 评论 -
【Leetcode】268. 缺失数字(Missing Number)
Leetcode - 268 Missing Number (Easy)题目描述:长度为 n 的数组由 0 - n 的数字组成,找到数组中丢失的数字。Input: [3,0,1]Output: 2解题思路:前 n 项和。public int missingNumber(int[] nums) { int sum = nums.length * (nums.length + 1)...原创 2019-05-31 10:50:51 · 176 阅读 · 0 评论 -
【Leetcode 】766. 对角元素相等的矩阵(Toeplitz Matrix)
Leetcode - 766 Toeplitz Matrix (Easy)Input:matrix = [ [1,2,3,4], [5,1,2,3], [9,5,1,2]]Output: TrueExplanation:In the above grid, the diagonals are:"[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]...原创 2019-05-24 10:41:36 · 857 阅读 · 0 评论 -
【Leetcode】118. 杨辉三角(Pascal's Triangle)
Leetcode - 118 Pascal’s Triangle (Easy)Input: 5Output:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]public List<List<Integer>> generate(int numRows) { List<List...原创 2019-06-01 10:01:43 · 136 阅读 · 0 评论 -
【Leetcode】628. 三个数的最大乘积(Maximum Product of Three Numbers)
Leetcode - 628 Maximum Product of Three Numbers (Easy)题目描述:给定一个数组,找出三个数的最大乘积。Input: [1,2,3,4]Output: 24解题思路:三个数的最大乘积有两种情况,第一种是三个最大正数相乘,第二种是两个最小的负数与一个最大正数相乘,这就转变为如何找到这 5 个数。public int maximumProd...原创 2019-06-01 10:14:31 · 148 阅读 · 0 评论 -
【Leetcode】15. 三数之和(3Sum)
Leetcode - 15 3Sum (Medium)题目描述:找出数组中三数和为 0 的组合。Given array nums = [-1, 0, 1, 2, -1, -4],A solution set is:[ [-1, 0, 1], [-1, -1, 2]]解题思路:注意去重。public List<List<Integer>> three...原创 2019-06-04 08:21:35 · 152 阅读 · 0 评论 -
【Leetcode】42. 接雨水(Trapping Rain Water)
Leetcode - 42 Trapping Rain Water (Hard)题目描述:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 Input: [0,1,0,2,1,0,1,3,2,1,2,1]Output: 6解题思路:双指针public int trap(int[] height) { int left = ...原创 2019-06-09 09:19:56 · 281 阅读 · 0 评论 -
【Leetcode】11. 盛最多水的容器(Container With Most Water)
Leetcode - 11 Container With Most Water (Medium)题目描述:找出两条线,使得构成的容器能够容纳最多的水。 public int maxArea(int[] height) { int max = 0, i = 0, j = height.length - 1; while (i < j) { max = ...原创 2019-06-03 10:07:08 · 142 阅读 · 0 评论 -
【Leetcode】41. 缺失的第一个正整数(First Missing Positive)
Leetcode - 41 First Missing Positive (Hard)Input: [3,4,-1,1]Output: 2public int firstMissingPositive(int[] nums) { int i = 0; while (i < nums.length) { if (nums[i] >= 1 &...原创 2019-06-08 23:06:54 · 294 阅读 · 0 评论 -
【Leetcode】48. 旋转图像(Rotate Image)
Leetcode - 48 Rotate Image (Medium)题目描述:将一个 n × n 的矩阵旋转 90°,不能使用额外的辅助空间。Given input matrix = [ [1,2,3], [4,5,6], [7,8,9]],rotate the input matrix in-place such that it becomes:[ [7,4,1]...原创 2019-06-08 22:44:32 · 264 阅读 · 0 评论 -
【Leetcode】4. 寻找两个有序数组的中位数(Median of Two Sorted Arrays)
Leetcode - 4 Median of Two Sorted Arrays (Hard)题目描述:要求时间复杂度为 O(log(m + n))。nums1 = [1, 3]nums2 = [2]The median is 2.0解题思路:二分。 left_part | right_partA[0], A[1], ..., A[i-1...原创 2019-06-02 13:59:56 · 216 阅读 · 0 评论 -
【Leetcode】122. 买卖股票的最佳时机 II(Best Time to Buy and Sell Stock II)
Leetcode - 122 Best Time to Buy and Sell Stock II (Easy)题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。尽可能地完成更多的交易(多次买卖一支股票)。Input: [7,1,5,3,6,4]Output: 7Explanation: Buy on day 2 (price...原创 2019-05-30 08:02:33 · 157 阅读 · 0 评论 -
【Leetcode】169. 求众数(Majority Element)
Leetcode - 169 Majority Element (Easy)题目描述:给定一个大小为 n 的数组,找到其中的众数。此处众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。Input: [3,2,3]Output: 3解题思路:摩尔投票法,这种投票法先将第一个数字假设为过半数,然后把计数器设为1,比较下一个数和此数是否相等,若相等则计数器加一,反之减一。然后看此时计数器的...原创 2019-05-29 22:37:56 · 147 阅读 · 0 评论 -
【Leetcode】1. 两数之和(Two Sum)
Leetcode - 1 Two Sum (Easy)题目描述:给定一个数组,返回相加和为 target 的两个元素的下标。Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].public int[] twoSum(int[] nums, int tar...原创 2019-06-02 10:52:19 · 169 阅读 · 0 评论 -
【Leetcode】27. 移除元素(Remove Element)
Leetcode - 27 Remove Element (Easy)题目描述:在不使用额外空间的情况下,删除数组中的 val,返回删除后的数组长度。Given nums = [3,2,2,3], val = 3,Your function should return length = 2, with the first two elements of nums being 2.It ...原创 2019-06-01 10:54:33 · 178 阅读 · 0 评论 -
【Leetcode】1010. 总持续时间可被 60 整除的歌曲(Pairs of Songs With Total Durations Divisible by 60)
Leetcode - 1010 Pairs of Songs With Total Durations Divisible by 60 (Easy)题目描述:数组中每个元素表示歌曲的播放时间,找出所有两首歌曲时间相加之和是 60 分钟倍数的数量。Input: [30,20,150,100,40]Output: 3Explanation: Three pairs have a total d...原创 2019-06-01 10:40:27 · 178 阅读 · 0 评论 -
【Leetcode】697. 数组的度(Degree of an Array)
Leetcode - 697 Degree of an Array (Easy)题目描述:数组的度是指数组中出现次数最多的元素的出现次数,例如数组 [1,2,2,2,1] 的度为 3,要求找到长度最小的子数组且该子数组的度与原数组的度相同。Input: [1, 2, 2, 3, 1]Output: 2Explanation: The input array has a degree of...原创 2019-05-24 10:24:25 · 175 阅读 · 0 评论 -
【Leetcode】661. 图片平滑器(Image Smoother)
Leetcode - 661 Image Smoother (Easy)题目描述:包含整数的二维矩阵 M 表示一个图片的灰度。你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多的利用它们。Input:[[1,1,1], [1,0,1], [1,1,1]]Output:[[0, 0...原创 2019-05-31 10:37:15 · 166 阅读 · 0 评论 -
【Leetcode】448. 寻找数组中丢失的元素(Find All Numbers Disappeared in an Array)
Leetcode - 448 Find All Numbers Disappeared in an Array (Easy)题目描述:数组中元素的范围为 [1, n],有一些重复的元素和一些丢失元素,寻找所有丢失的元素。Input:[4,3,2,7,8,2,3,1]Output:[5,6]public List<Integer> findDisappearedNumbe...原创 2019-05-22 21:58:37 · 147 阅读 · 0 评论 -
【Leetcode】832. 翻转图像(Flipping an Image)
Leetcode - 832 Flipping an Image (Easy)题目描述:给定一个二维数组,先翻转每一行,例如 [1,0,0] 翻转后变为 [0,0,1];之后再倒置每一个元素,1 变为 0,0 变为 1。Input: [[1,1,0],[1,0,1],[0,0,0]]Output: [[1,0,0],[0,1,0],[1,1,1]]Explanation: First re...原创 2019-05-26 14:03:53 · 215 阅读 · 0 评论 -
【Leetcode】905. 按奇偶性排序数组(Sort Array By Parity)
Leetcode - 905 Sort Array By Parity (Easy)题目描述:排序数组使得偶数在前,奇数在后。Input: [3,1,2,4]Output: [2,4,3,1]The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.解法一:额外数组public int[] sortA...原创 2019-05-26 11:52:06 · 213 阅读 · 0 评论 -
【Leetcode】769. 排序的最大块数(Max Chunks To Make Sorted)
Leetcode - 769 Max Chunks To Make Sorted (Medium)题目描述:数组 arr 是 [0, 1, …, arr.length - 1] 的全排列,将数组分割成块,块内的元素可进行排序,块与块的相对位置不变,要想将整个数组升序排列,求做多能分成多少块。Input: arr = [1,0,2,3,4]Output: 4Explanation:We c...原创 2019-05-26 11:18:07 · 212 阅读 · 0 评论 -
【Leetcode 】565. 数组嵌套(Array Nesting)
Leetcode - 565 Array Nesting (Medium)题目描述:数组由 0 到 N - 1 的元素组成,找出最长的序列 S[i] = {A[i], A[A[i]], A[A[A[i]]], … }。Input: A = [5,4,0,3,1,6,2]Output: 4Explanation: A[0] = 5, A[1] = 4, A[2] = 0, A[3] = 3...原创 2019-05-26 10:46:30 · 213 阅读 · 0 评论 -
【Leetcode】645. 集合不匹配(Set Mismatch)
Leetcode - 645 Set Mismatch (Easy)题目描述:正确数组应该是从 1 到 n,现在其中一个元素丢失,并且在该元素的位置是另一个其他重复的元素,求重复的元素与丢失的元素。Input: nums = [1,2,2,4]Output: [2,3]解题思路:将所有元素都交换到正确位置即可判断。public int[] findErrorNums(int[] num...原创 2019-05-22 09:07:30 · 145 阅读 · 0 评论 -
【Leetcode】378. 有序矩阵的第k个元素(Kth Smallest Element in a Sorted Matrix)
Leetcode - 378 Kth Smallest Element in a Sorted Matrix (Medium)题目描述:矩阵的每一行与每一列均递增,找出第 k 个元素。matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,return 13.解法一:二分查找。public int k...原创 2019-05-21 09:22:19 · 203 阅读 · 0 评论 -
【Leetcode】240. 搜索二维矩阵II(Search a 2D Matrix II)
Leetcode - 240 Search a 2D Matrix II (Medium)题目描述:矩阵每行从左到右递增,每列从上到下递增,判断矩阵中是否有 target 元素。[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, ...原创 2019-05-21 08:48:47 · 153 阅读 · 0 评论 -
【Leetcode】485. 数组中连续1的最大个数(Max Consecutive Ones)
Leetcode - 485 Max Consecutive Ones (Easy)Input: [1,1,0,1,1,1]Output: 3Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3....原创 2019-05-21 08:37:06 · 340 阅读 · 0 评论 -
【Leetcode】566.改变数组维度(Reshape the Matrix)
Leetcode - 566 Reshape the Matrix (Easy)题目描述:将原数组 reshape 成另一个数组,原数组中的元素按行遍历重新赋到新数组中。Input: nums = [[1,2], [3,4]]r = 1, c = 4Output: [[1,2,3,4]]Explanation:The row-traversing of nums is [1,2...原创 2019-05-21 08:29:11 · 884 阅读 · 0 评论 -
【Leetcode】724. 寻找中枢节点(Find Pivot Index)
Leetcode - 724 Find Pivot Index (Easy)题目描述:以中枢点为界,左右两边元素之和相等。Input: nums = [1, 7, 3, 6, 5, 6]Output: 3Explanation: The sum of the numbers to the left of index 3 (nums[3] = 6) is equal to the sum...原创 2019-05-20 23:11:25 · 246 阅读 · 0 评论 -
【Leetcode】422. 寻找重复的元素(Find All Duplicates in an Array)
Leetcode - 422 Find All Duplicates in an Array (Medium)题目描述:数组中元素的范围为 [1, n],有些元素出现两次有些出现一次,找出重复出现的元素。Input:[4,3,2,7,8,2,3,1]Output:[2,3]解题思路:将访问过的元素对应位置的值设为负数,代表已经访问过,下次再访问就意味着该元素已经重复了。publi...原创 2019-05-22 22:18:36 · 334 阅读 · 0 评论 -
【Leetcode】287.找出重复数字(Find the Duplicate Number)
Leetcode - 287 Find the Duplicate Number (Medium)题目描述:数组中元素的范围为 [1, n],有 n + 1 个元素,有且只有一个元素重复,要求不能改变数组,只能使用常数空间复杂度,时间复杂度小于 O(n^2)。Input: [1,3,4,2,2]Output: 2解法一:二分法。数组中有且只有一个重复数组,这样就会导致数值分布的不均匀,比...原创 2019-05-23 09:34:18 · 210 阅读 · 0 评论