数组
IDEA_TEYU_1112
其实吧压力也没那么大
展开
-
Leetcode刷题java之295. 数据流的中位数(一天一道编程题之四十九天)
执行结果:通过显示详情执行用时 :959 ms, 在所有 Java 提交中击败了7.11% 的用户内存消耗 :49.6 MB, 在所有 Java 提交中击败了100.00%的用户题目:中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一...原创 2020-04-05 15:26:42 · 242 阅读 · 0 评论 -
Leetcode刷题java之200. 岛屿数量(一天一道编程题之四十九天)
执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了95.44% 的用户内存消耗 :42.4 MB, 在所有 Java 提交中击败了5.55%的用户题目:给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:...原创 2020-04-05 12:40:25 · 282 阅读 · 0 评论 -
Leetcode刷题java之130. 被围绕的区域(一天一道编程题之四十八天)
执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了98.04% 的用户内存消耗 :41.9 MB, 在所有 Java 提交中击败了42.13%的用户题目:给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。示例:X X X XX O O XX X ...原创 2020-04-05 12:18:26 · 276 阅读 · 0 评论 -
Leetcode刷题java之128. 最长连续序列(一天一道编程题之四十七天)
执行结果:通过显示详情执行用时 :5 ms, 在所有 Java 提交中击败了83.59% 的用户内存消耗 :39.5 MB, 在所有 Java 提交中击败了5.25%的用户题目:给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1,...原创 2020-04-04 10:02:55 · 317 阅读 · 0 评论 -
Leetcode刷题java之41. 缺失的第一个正数(一天一道编程题之四十四天)
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了93.17% 的用户内存消耗 :38.1 MB, 在所有 Java 提交中击败了5.34%的用户题目:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:...原创 2020-04-02 15:56:09 · 205 阅读 · 0 评论 -
Leetcode刷题java之4. 寻找两个有序数组的中位数(一天一道编程题之三十八天)
执行结果:通过显示详情执行用时 :3 ms, 在所有 Java 提交中击败了84.62% 的用户内存消耗 :41.1 MB, 在所有 Java 提交中击败了98.28%的用户题目:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nu...原创 2020-03-31 14:13:44 · 211 阅读 · 0 评论 -
Leetcode刷题java之341. 扁平化嵌套列表迭代器(一天一道编程题之三十六天)
执行结果:通过显示详情执行用时 :4 ms, 在所有 Java 提交中击败了68.89% 的用户内存消耗 :42.1 MB, 在所有 Java 提交中击败了5.68%的用户题目:给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。示例 1:...原创 2020-03-31 11:00:29 · 274 阅读 · 0 评论 -
Leetcode刷题java之380. 常数时间插入、删除和获取随机元素(一天一道编程题之三十五天)
执行结果:通过显示详情执行用时 :12 ms, 在所有 Java 提交中击败了97.16% 的用户内存消耗 :45.2 MB, 在所有 Java 提交中击败了69.40%的用户题目:设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。 insert(val):当元素 val 不存在时,向集合中插入该项。 remove(val):元素 v...原创 2020-03-31 10:14:06 · 240 阅读 · 0 评论 -
Leetcode刷题java之412. Fizz Buzz(一天一道编程题之三十四天)
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :41.8 MB, 在所有 Java 提交中击败了5.08%的用户题目:写一个程序,输出从 1 到 n 数字的字符串表示。1. 如果 n 是3的倍数,输出“Fizz”;2. 如果 n 是5的倍数,输出“Buzz”;3.如果 n 同时是3和5的倍数,输出 “...原创 2020-03-30 18:45:12 · 237 阅读 · 0 评论 -
Leetcode刷题java之395. 至少有K个重复字符的最长子串(一天一道编程题之三十二天)
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了78.25% 的用户内存消耗 :37.7 MB, 在所有 Java 提交中击败了8.10%的用户题目:找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。示例 1:输入:s = "aaabb", k = 3输出:3...原创 2020-03-24 11:28:05 · 342 阅读 · 0 评论 -
Leetcode刷题java之334. 递增的三元子序列(一天一道编程题之三十天)
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :39 MB, 在所有 Java 提交中击败了30.74%的用户题目:给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下:如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1,使得 ...原创 2020-03-22 09:31:22 · 239 阅读 · 0 评论 -
Leetcode刷题java之289. 生命游戏(一天一道编程题之二十九天)
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :38.1 MB, 在所有 Java 提交中击败了5.03%的用户题目:根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞具有一个初始状态 ...原创 2020-03-21 13:28:17 · 279 阅读 · 0 评论 -
Leetcode刷题java之384. 打乱数组(一天一道编程题之二十六天)
执行结果:通过显示详情执行用时 :103 ms, 在所有 Java 提交中击败了72.20% 的用户内存消耗 :51.3 MB, 在所有 Java 提交中击败了99.22%的用户题目:打乱一个没有重复元素的数组。示例:// 以数字集合 1, 2 和 3 初始化数组。int[] nums = {1,2,3};Solution solution = new Solu...原创 2020-03-17 09:50:45 · 244 阅读 · 0 评论 -
Leetcode刷题java之189. 旋转数组(一天一道编程题之第二十天)
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :42.5 MB, 在所有 Java 提交中击败了5.17%的用户题目:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右...原创 2020-03-11 09:07:33 · 237 阅读 · 0 评论 -
Leetcode刷题java之179. 最大数(一天一道编程题之第十八天)
执行结果:通过显示详情执行用时 :10 ms, 在所有 Java 提交中击败了34.96% 的用户内存消耗 :40.6 MB, 在所有 Java 提交中击败了5.08%的用户题目:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入: [10,2]输出: 210示例 2:输入: [3,30,34,5,9]输出: 9534330说...原创 2020-03-09 09:25:53 · 282 阅读 · 0 评论 -
Leetcode刷题java之56. 合并区间(一天一道编程题之第十二天)
执行结果:通过显示详情执行用时 :9 ms, 在所有 Java 提交中击败了55.33% 的用户内存消耗 :41.9 MB, 在所有 Java 提交中击败了56.30%的用户题目:给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [...原创 2020-03-02 10:24:18 · 333 阅读 · 0 评论 -
Leetcode刷题java之66. 加一(一天一道编程题之第十一天)
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :35.2 MB, 在所有 Java 提交中击败了44.05%的用户题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例...原创 2020-03-01 11:34:41 · 319 阅读 · 0 评论 -
Leetcode刷题java之416. 分割等和子集(一天一道编程题之第四天)(100,100,100.。。100用例不能通过,感觉是它们后台坏掉了)
首先来一个别人的代码执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了99.44% 的用户内存消耗 :37.5 MB, 在所有 Java 提交中击败了15.95%的用户题目:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意: 每个数组中的元素不会超过 100 数组的大小不会...原创 2020-02-24 10:41:45 · 351 阅读 · 0 评论 -
Leetcode刷题java之16. 最接近的三数之和(一天一道编程题之第二天)
今天是第二天,今天外面下起了小雪,天有些阴,不知道这样的日子还要多久,希望疫情早点过去吧,加油!执行结果:通过显示详情执行用时 :6 ms, 在所有 Java 提交中击败了86.84% 的用户内存消耗 :38.9 MB, 在所有 Java 提交中击败了5.03%的用户题目:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整...原创 2020-02-22 13:39:12 · 396 阅读 · 0 评论 -
Leetcode刷题java之560. 和为K的子数组
执行结果:通过显示详情执行用时 :22 ms, 在所有 Java 提交中击败了86.37% 的用户内存消耗 :38.7 MB, 在所有 Java 提交中击败了31.00%的用户题目:给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1]...原创 2020-02-10 12:01:46 · 317 阅读 · 0 评论 -
Leetcode刷题java之287. 寻找重复数
执行结果:通过显示详情执行用时 :5 ms, 在所有 Java 提交中击败了33.14% 的用户内存消耗 :38.1 MB, 在所有 Java 提交中击败了19.45%的用户题目:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: ...原创 2020-02-09 11:55:36 · 242 阅读 · 0 评论 -
Leetcode刷题java之240. 搜索二维矩阵 II
执行结果:通过显示详情执行用时 :6 ms, 在所有 Java 提交中击败了99.69% 的用户内存消耗 :44.5 MB, 在所有 Java 提交中击败了19.56%的用户题目:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。示...原创 2020-02-09 10:26:24 · 255 阅读 · 0 评论 -
Leetcode刷题java之238. 除自身以外数组的乘积
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :41.6 MB, 在所有 Java 提交中击败了95.51%的用户题目:给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输...原创 2020-02-09 10:08:19 · 259 阅读 · 0 评论 -
Leetcode刷题java之152. 乘积最大子序列
执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了92.22% 的用户内存消耗 :36.7 MB, 在所有 Java 提交中击败了70.48%的用户题目:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。...原创 2020-02-07 16:48:02 · 280 阅读 · 0 评论 -
Leetcode刷题java之581. 最短无序连续子数组
执行结果:通过显示详情执行用时 :10 ms, 在所有 Java 提交中击败了56.13% 的用户内存消耗 :39.7 MB, 在所有 Java 提交中击败了61.42%的用户题目:给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4...原创 2020-02-07 13:42:23 · 220 阅读 · 0 评论 -
Leetcode刷题java之55. 跳跃游戏
执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了62.33% 的用户内存消耗 :40 MB, 在所有 Java 提交中击败了46.70%的用户题目:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: t...原创 2020-02-06 11:35:38 · 348 阅读 · 0 评论 -
Leetcode刷题java之48. 旋转图像
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :35.8 MB, 在所有 Java 提交中击败了95.54%的用户题目:给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 ...原创 2020-02-05 17:30:53 · 247 阅读 · 0 评论 -
Leetcode刷题java之15. 三数之和
执行结果:通过显示详情执行用时 :39 ms, 在所有 Java 提交中击败了59.52% 的用户内存消耗 :46.4 MB, 在所有 Java 提交中击败了87.68%的用户题目:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的...原创 2020-02-05 11:50:57 · 188 阅读 · 0 评论 -
Leetcode刷题java之11. 盛最多水的容器(top100)
执行结果:通过显示详情执行用时 :5 ms, 在所有 Java 提交中击败了45.23% 的用户内存消耗 :40 MB, 在所有 Java 提交中击败了25.70%的用户题目:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,...原创 2020-02-05 10:38:47 · 272 阅读 · 0 评论 -
牛客网刷题java之滑动窗口的最大值(239. 滑动窗口最大值)暴力解法
执行结果:通过显示详情执行用时 :39 ms, 在所有 Java 提交中击败了26.33% 的用户内存消耗 :41.8 MB, 在所有 Java 提交中击败了31.23%的用户题目:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6...原创 2020-02-03 12:08:51 · 322 阅读 · 0 评论 -
Leetcode刷题java之1122. 数组的相对排序
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :36.2 MB, 在所有 Java 提交中击败了38.33%的用户题目:给你两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对...原创 2020-02-01 17:20:10 · 465 阅读 · 0 评论 -
Leetcode刷题java之134. 加油站
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了61.06% 的用户内存消耗 :37.5 MB, 在所有 Java 提交中击败了55.35%的用户题目:在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的...原创 2020-01-29 16:29:26 · 452 阅读 · 0 评论 -
Leetcode刷题java之63. 不同路径 II
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了89.96% 的用户内存消耗 :36.6 MB, 在所有 Java 提交中击败了86.48%的用户题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现...原创 2020-01-28 11:12:56 · 254 阅读 · 0 评论 -
Leetcode刷题java之62. 不同路径
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :33 MB, 在所有 Java 提交中击败了62.78%的用户题目:一个机器人,只能往下或者往右走,那么走到右下角有多少种不同的方式说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解...原创 2020-01-28 10:48:44 · 252 阅读 · 0 评论 -
牛客网刷题java之统计一个数字在升序排序数组中出现的次数。(二分查找法)
题目:统计一个数字在升序排序数组中出现的次数。思路:涉及到在已经排好序的数组中找元素,很自然的就想到了二分查找法代码中需要注意的地方:二分查找法很容易边界值选择错误,可以具体举例进行测试,以便修改其中的边界值需要注意end的初始赋值,while循环中是否有等于,下面的条件中end=mid是否需要减去一,start是否需要加上一,返回值是返回start还是end。代码:...原创 2019-05-21 10:55:16 · 650 阅读 · 0 评论 -
牛客网刷题java之输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路:代码:public class Solution { public void reOrderArray(int [] array) { //计算奇数的个数 ...原创 2019-05-15 14:14:52 · 1623 阅读 · 0 评论 -
牛客网刷题java之在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路:代码:代码中给了三个参数,值得注意的是第三个参数是储存重复数字的数组,大小为1public cla...原创 2019-05-15 08:47:14 · 2471 阅读 · 0 评论 -
牛客网刷题java之把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。import java.util.ArrayList;/*本题的一个简单算法就是从左到右遍历,由于是递增的,...原创 2019-05-13 16:35:54 · 1283 阅读 · 0 评论 -
牛客网刷题java之在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。代码以及思路:public class Solution { public boolean Find(int target, int [][] array) { /*...原创 2019-05-10 19:45:51 · 3342 阅读 · 1 评论 -
牛客网刷题java之构建乘积数组
题目:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。思路:循环两次,从左往右,从右往左,在循环的过程中直接累乘代码:import java.util.ArrayList;public class Solution { ...原创 2019-05-31 15:41:59 · 223 阅读 · 0 评论