草庐IT

leetCode

全部标签

LeetCode - #89 格雷编码

前言我们社区陆续会将顾毅(Netflix增长黑客,《iOS面试之道》作者,ACE职业健身教练。)的Swift算法题题解整理为文字版以方便大家学习与阅读。LeetCode算法到目前我们已经更新到88期,我们会保持更新时间和进度(周一、周三、周五早上9:00发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。不积跬步,无以至千里;不积小流,无以成江海,Swift社区伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。难度水平:中等1.描述n位格雷码序列是一个由2^n个整数组成的序列,其中:每个整数都在范围[0,2^n-1]内(含0和2^n-1)第一个整

Leetcode hot100题 个人整理版

目录1.两数之和2.两数相加3.无重复字符的最长子串4.寻找两个正序数组的中位数5.最长回文子串10.正则表达式匹配11.盛最多水的容器15.三数之和17.电话号码的字母组合19.删除链表的倒数第NNN个结点20.有效的括号21.合并两个有序链表22.括号生成23.合并KKK个升序链表31.下一个排列32.最长有效括号33.搜索旋转排序数组34.在排序数组中查找元素的第一个和最后一个位置39.组合总和42.接雨水46.全排列48.旋转图像49.字母异位词分组53.最大子数组和55.跳跃游戏56.合并区间72.编辑距离75.荷兰国旗76.最小覆盖子串78.子集79.单词搜索84.柱状图中最大的矩

LeetCode155:最小栈,最简单的中等难度题,时间击败100%,内存也低于官方

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览最近运气不错,在LeetCode上白捡一道送分题,官方设定的难度是中等,然而此题难度放在简单的题库中都是垫底的存在,对于刷题数太少的欣宸而言,这简直就是力扣的馈赠,建议大家也不要错过,花上几分钟将其拿下不唠嗑了,下面咱们一起来刷之为了提起您的兴趣,这里提前剧透一下:用最简单的数据结构-数组,来存储数据,代码整体非常简单,适合新手阅读执行用时执行用时3毫秒,在所有Java提交中击败了100%的用户(包括官方),有下图为证题目说明设计一个支持push

【LeetCode】剑指 Offer <二刷>(5)

目录题目:剑指Offer10-II.青蛙跳台阶问题-力扣(LeetCode)题目的接口:解题思路:代码:过啦!!!题目:剑指Offer11.旋转数组的最小数字-力扣(LeetCode)题目的接口:解题思路:代码:过啦!!!写在最后:题目:剑指Offer10-II.青蛙跳台阶问题-力扣(LeetCode)题目的接口:funcnumWays(nint)int{}解题思路:这道题乍一看好像没什么思路,但是我们不妨把题目分析一下,跳1,2,3级台阶分别有多少种情况,然后再来探究规律,跳1级楼梯有一种方法,跳2级楼梯有两种方法(一步2级上去+一步1级上去),跳3级楼梯有三种方法,是哪三种?如果第一步跳1

Leetcode刷题本地debug框架搭建

思路1.初版cmake+单一.cpp文件参考:https://blog.songjiahao.com/archives/3622.改良版cmake+源文件、头文件(含List、Tree等数据结构)分离+gtest参考:https://github.com/Pokerpoke/LeetCode Normal模板以Leetcode1两数之和为例#include#include#includeusingnamespacestd;classSolution{public:vectorint>twoSum(vectorint>&nums,inttarget){//key代表数字,value代表位置uno

【LeetCode】双指针求解和为s的两个数字

Problem:剑指Offer57.和为s的两个数字文章目录题目解析算法思路分析复杂度Code题目解析首先来讲解一下本题的思路我们看到本题的意思很简单,就是去这个nums这个数组中进行寻找,如果找到了两个数相加之和为target的话,那构成一个结果集并返回算法思路分析接下去我们来分析一下本题的思路暴力解法首先第一种,我们都会想到的就是【暴力求解】,那就是使用两层for循环,去一一地做匹配工作,不过这种解法我们可想而知,一定会超时,所以这里不做过多的叙述for(inti=0;inums.size();++i)for(intj=i+1;jnums.size();++j)利用单调性,使用双指针算法进

LeetCode //C - 452. Minimum Number of Arrows to Burst Balloons

452.MinimumNumberofArrowstoBurstBalloonsTherearesomesphericalballoonstapedontoaflatwallthatrepresentstheXY-plane.Theballoonsarerepresentedasa2Dintegerarraypointswherepoints[i]=[xstart,xendx_{start},x_{end}xstart​,xend​]denotesaballoonwhosehorizontaldiameterstretchesbetweenxstartx_{start}xstart​andxe

LeetCode279:完全平方数,动态规划解法超过46%,作弊解法却超过97%

欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本篇概览这是道高频面试题,值得一看首先,这道题的难度是中等来看题目描述:给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。示例1:输入:n=12输出:3解释:12=4+4+4示例2:输入:n=13输出:2解释:13=4+9提示:1解题思路该题的解题思路是动态规划,核心解法有两点:数字i,可能是某个数字的平方,例

两种解法解决 LeetCode 27. 移除元素【C++】

移除元素27.移除元素题目:[移除元素](https://leetcode.cn/problems/remove-element/description/)示例和提示:解法:1.暴力解法2.快慢指针27.移除元素题目:移除元素示例和提示:解法:1.暴力解法//暴力解法://实际上就是遍历数组找到需要删除的元素,然后再嵌套一层循环将该元素后面的依次向前覆盖。classSolution{public:intremoveElement(vectorint>&nums,intval){//为了不让每次循环都调用size()函数:intsize=nums.size();//第一步,遍历目标数组:for(

leetcode — JavaScript专题(五):计数器 II、只允许一次函数调用、 创建 Hello World 函数、将对象数组转换为矩阵、节流、分块数组

专栏声明:只求用最简单的,容易理解的方法通过,不求优化,不喜勿喷2665.计数器II题面请你写一个函数createCounter.这个函数接收一个初始的整数值init并返回一个包含三个函数的对象。这三个函数是:increment()将当前值加1并返回。decrement()将当前值减1并返回。reset()将当前值设置为init并返回。知识点:闭包思路编写一个闭包保存我们的变量的当前数值,之后对于不同的操作对这个数据进行增减即可,注意init作为我们传入的数值,也可以作为一个闭包中可以获取和操作的数值代码varcreateCounter=function(init){varnow=init;l