草庐IT

Leetcode_Master

全部标签

Leetcode刷题之经典双指针问题

    光是话不行,要紧的是做。              ——鲁迅目录 一.什么是双指针问题?二.最接近的三数之和第一种暴力法:第二种双指针: 三.移除元素第一种暴力法:第二种双指针: 四.盛最多水的容器 一.什么是双指针问题?双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的。换言之,双指针法充分使用了数组有序这一特征,从而在某些情况下能够简化一些运算。第一种快慢指针:快慢指针也是双指针,但是两个指针从同一侧开始遍历数组,将这两个指针分别定义为快指针(fast)和慢指针(slow),两个指

关于github:设置默认分支为master

GitHub上新建仓库的default分支是main,而通过git向远程仓库上传文件的分支默认是master,这样仓库就有了两个branches。设置defaultbranch为master:点击头像—settings—Repositories—更改main为master—update这样,之后新建仓库的defaultbranch就为master了。如下:设置已经建好的仓库的default为master:单击该仓库最右边settings—branches—点击双箭头—在弹框中选择master—update—Iunderstand,updatethedefaultbranch。回到该仓库,更改完

leetcode416. 分割等和子集(动态规划-java)

分割等和子集leetcode416.分割等和子集题目描述暴力递归代码演示动态规划解题思路代码演示动态规划专题leetcode416.分割等和子集来源:力扣(LeetCode)链接:https://leetcode.cn/problems/partition-equal-subset-sum题目描述给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例1:输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解释:数组不能分割成两个元素和相

【leetcode/力扣】176.第二高的薪水

文章目录题目一、大概思路二、代码实现总结题目一、大概思路查第二高的薪水,一般看这个题目就觉得ORDERBY然后DESC从高高低就行了,然后LIMIT1OFFSET1就能查到第二高的数据。二、代码实现SELECT(SELECTDISTINCTsalaryFROMEmployeeORDERBYsalaryDESCLIMIT1OFFSET1)as'SecondHighestSalary';总结一般orderbydesc然后limitoffset就能查到第二高的数据。但是要注意如果有多个一样的薪水就会出问题,所以SELECT后面加一个DISTINCT来排除相同的数据。同时如果只有一个薪水数据,或者所有

【笔试实战】LeetCode题单刷题-编程基础 0 到 1【二】

1822. 数组元素积的符号题目链接1822. 数组元素积的符号题目描述已知函数 signFunc(x) 将会根据 x 的正负返回特定值:如果 x 是正数,返回 1 。如果 x 是负数,返回 -1 。如果 x 是等于 0 ,返回 0 。给你一个整数数组 nums 。令 product 为数组 nums 中所有元素值的乘积。返回 signFunc(product) 。 示例1:输入:nums=[-1,-2,-3,-4,3,2,1]输出:1解释:数组中所有值的乘积是144,且signFunc(144)=1示例2:输入:nums=[1,5,0,2,-3]输出:0解释:数组中所有值的乘积是0,且sig

git报错:[rejected]master->master(non-fast-forward)

![rejected]master->master(non-fast-forward)error:failedtopushsomerefsto‘xxx’今天新建了一个仓库,并未push代码,然后按提交代码的流程提交项目时,报错![rejected]master->master(non-fast-forward)error:failedtopushsomerefsto'xxx'hint:Updateswererejectedbecausethetipofyourcurrentbranchisbehindhint:itsremotecounterpart.Integratetheremotecha

数组中出现次数超过一半的数字(majorityElement) Leetcode 16

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:[1,2,3,2,2,2,5,4,2]输出:2限制:1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。方法一:hashmap方法classSolution{publicintmajorityElement(int[]nums){

【手撕算法|动态规划系列No.1】leetcode1137. 第 N 个泰波那契数

个人主页:平行线也会相交欢迎点赞👍收藏✨留言✉加关注💓本文由平行线也会相交原创收录于专栏【手撕算法系列专栏】【LeetCode】🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助🍓希望我们一起努力、成长,共同进步。点击直接跳转到该题目目录🍬题目描述🍦动态规划算法原理+题目解析。🍰解题代码1🍔解题代码2(空间优化---滚动数组)🍩总结🍬题目描述泰波那契序列Tn定义如下:T0=0,T1=1,T2=1,且在n>=0的条件下Tn+3=Tn+Tn+1+Tn+2给你整数n,请返回第n个泰波那契数Tn的值。示例1:输入:n=4输出:4解释:T_3=0+1+1=2T_4=1+1+2

代码随想录算法训练营第一天 | 数组理论基础+LeetCode704. 二分查找,LeetCode27. 移除元素

学习文档:数组理论基础文章链接:https://programmercarl.com/状态:已完成文章目录前言一、LeetCode704.二分查找题目要求解题思路二、LeetCode27.移除元素题目要求解题思路思路1:暴力解法暴力解法代码思路2:双指针(快慢指针)双指针代码思路3:双指针优化双指针优化代码总结前言数组是存放在连续内存空间上的相同类型数据的集合。数组可以方便的通过下标索引的方式获取到下标下对应的数据。需要两点注意的是:1.数组下标都是从0开始的2.数组内存空间的地址是连续的正是因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。因此

【Leetcode】动态规划 刷题训练(八)

文章目录413.等差数列划分状态转移方程完整代码978.最长湍流子数组题目解析状态转移方程f[i]状态转移方程g[i]状态转移方程完整代码139.单词拆分状态转移方程初始化完整代码413.等差数列划分点击查看:等差数列划分如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7]和[3,-1,-5,-9]都是等差数列。给你一个整数数组nums,返回数组nums中所有为等差数组的子数组个数。子数组是数组中的一个连续序列。示例1:输入:nums=[1,2,3,4]输出:3解释:nums中有三个子等差数组:[1,2,3]、[2,3