参考LeetCode上大佬的汇总[1],我整理了一下自己应用双指针 (Two Pointers) 准备滑动窗口 (Sliding Windows) 模块的笔记。 -- 通解思路 设立start 和end 变量,用于标记滑动窗口的起始。 end 进行自增,用于扩大窗口,直到窗口内的元素满足题目给定的要求,计算题目要求给定的结果变量。 end 停止自增。 start 变量自...
76. Minimum Window Substring Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). Example: Input: S = "ADOBECODEBANC", T = "ABC" Output: "BANC" 题意:找出S中长度最小的子串,满足T中所有字符都在子串中 代码如...
minStack.getMin(); --> Returns -2. 本题我创建了一个栈,每次都压入了min,代码如下: 1publicclassMinStack {2Stack<Integer>s;3intmin =Integer.MAX_VALUE;4/**initialize your data structure here.*/5publicMinStack() {6s =newStack<Integer>();7s.push(min);8}910publicvoidpush(intx) {11min...
LeetCode 1144. 递减元素使数组呈锯齿状 题目描述 解题思路 代码 复杂度分析 GitHub LeetCode 项目 题目描述 题目链接 给你一个整数数组 nums,每次 操作 会从中选择一个元素并 将该元素的值减少 1。...或者,每个奇数索引对应的元素都大于相邻的元素,即 A[0] A[2] A[4] 返回将数组 nums 转换为锯齿数组所...
master 6Branches0Tags Code This branch is9 commits behindkdn251/interviews:master. README MIT license Interviews Your personal guide to Software Engineering technical interviews. Video solutions to the following interview problems with detailed explanations can be foundhere. ...
Input: n = 4, k = 2 Output: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 题意:给n个整数取k个数的所有可能 代码如下: /** * @param {number} n * @param {number} k * @return {number[][]}*/varcombine =function(n, k) {varres=newSet();varcurr=newSet(...
代码如下 /** * @param {number[]} nums * @return {void} Do not return anything, modify nums in-place instead.*///遇0左移,遇2右移varsortColors =function(nums) {varz=0,s=nums.length-1;for(vari=0;i<=s;i++){while(nums[i]===2 && i<s){//交换位置let a=nums[i]; ...