- 博客(8)
- 收藏
- 关注
原创 二维数组区间问题---Leetcode
986. 区间列表的交集给定两个由一些闭区间组成的列表,每个区间列表都是成对不相交的,并且已经排序。返回这两个区间列表的交集。示例:输入:A = [[0,2],[5,10],[13,23],[24,25]], B = [[1,5],[8,12],[15,24],[25,26]]输出:[[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]]class S...
2019-11-06 19:17:50
659
原创 Leetcode的数组和问题
1.最接近的三数之和给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。解法:双指针(以nums[index] 为第一个数,找到其余的两个数。固定住Nums[index])class Solution { public int threeSumClos...
2019-11-05 19:51:32
215
原创 双端队列--初用
给定数组arr和整数num,共返回有多少个子数组满足如下情况:子数组中的最大值减去最小值小于或等于num。思路:双端队列+双指针+数学技巧用两个双端队列分别更新(双指针区间内的最大值 以及最小值)。一个队列专门存储区间内的最大值、另一个队列则存储最小值。指针在移动的过程,不断更新两队列的结构。数学技巧:1:一个元素较多的数组,如果满足max - min < num ,那么这个大数组的...
2019-10-07 15:14:14
205
原创 入门---暴力递归改动态规划
题目:有一排正数,玩家A和玩家B都可以看到。每位玩家在拿走数字的时候,都只能从最左和最右的数中选择一个。玩家A先拿,玩家B再拿,两人交替拿走所有的数字,两人都力争自己拿到的数的总和比对方多。请返回最后获胜者的分数。例如:5,2,3,4玩家A先拿,当前他只能拿走5或者4。如果玩家A拿走5,那么剩下2,3,4。轮到玩家B,此时玩家B可以选择2或4中的一个,…如果玩家A拿走4,那么剩下5...
2019-10-04 10:28:33
169
原创 数组---哈希问题求小于等于K的最长子数组
给定一个数组,值可以为正、负和0,请返回累加和小于等于k的最长子数组长度。public static int maxLengthAwesome(int[] arr, int k) { if (arr == null || arr.length == 0) { return 0; } int[] sums = new int[arr.length]; //以下标i开头的最小...
2019-10-03 22:09:46
346
原创 数组---哈希表
给定一个数组,**值可以为正、负和0,**请返回累加和为给定值k的最长子数组长度。{10 ,1 ,1 ,1, 1, 5 ,1 ,1,-10}target = 11;解法求出以下标为i结尾的和 (以及求出以下标为j 结尾的和) 如果 sum [i] - sum[j]= target 那么长度为( i - j + 1) 我们用哈希表记录当访问到index的和(求最长,所以记录第...
2019-10-03 21:30:46
269
原创 数组 -- 双指针问题
给定一个数组,值全是正数,请返回累加和为给定值k的最长子数组长度。例如 target = 11nums = { 10 ,1 ,1 ,1, 1, 5 ,1 ,1}返回 7双指针 :public static int getMaxLength(int[] arr, int k) { if (arr == null || arr.length == 0 || k <= 0) ...
2019-10-03 20:07:52
206
原创 已知一个字符串都是由左括号(和右括号)组成,判断该字符串是否是有效的括号组合。
题目:已知一个字符串都是由左括号(和右括号)组成,判断该字符串是否是有效的括号组合。例子:()()() 返回true())() false根据观察遍历的过程中,当右括号数大于左括号数,直接返回false遍历结束时 :1.当左括号数等于右括号数 返回true2.当左括号数大于右括号数 返回false方法一 定义一个变量记录遍历过程int count 当遇...
2019-10-03 19:26:37
1564
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人