zl程序教程

[LeetCode]

  • LeetCode每日一题-1:反转链表

    LeetCode每日一题-1:反转链表

    题目描述反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解题思路链表一般都是用迭代或是递归法来解决,而且一般都是构造双指针、三指针,比如反转链表或是DP动态规划。双指针迭代我们可以申请两个指针,第一个指针叫 pre,最初是指向 null 的。第二个指针 cur 指向 hea

    日期 2023-06-12 10:48:40     
  • LeetCode每日一题-8:重塑矩阵

    LeetCode每日一题-8:重塑矩阵

    题目描述:在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。返回所需的 K 位翻转的最小次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。示例 1:输入:A = [0,1,0], K = 1 输出:2 解释:先翻转 A[0],然后翻转 A[2]。示例 2:输入:A = [1,1,0

    日期 2023-06-12 10:48:40     
  • leetcode 1019. 链表中的下一个更大节点 js实现

    leetcode 1019. 链表中的下一个更大节点 js实现

    给定一个长度为 n 的链表 head对于列表中的每个节点,查找下一个 更大节点 的值。也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值 严格大于 它的值。返回一个整数数组 answer ,其中 answer[i] 是第 i 个节点( 从1开始 )的下一个更大的节点的值。如果第 i 个节点没有下一个更大的节点,设置 answer[i] = 0 。输入:head = [2,1,5] 输

    日期 2023-06-12 10:48:40     
  • leetcode 2. 两数相加 js 实现

    leetcode 2. 两数相加 js 实现

    给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 示例 2:输入:l1 = [0], l

    日期 2023-06-12 10:48:40     
  • leetcode 258. 各位相加 js 实现

    leetcode 258. 各位相加 js 实现

    给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。示例 1:输入: num = 38 输出: 2 解释: 各位相加的过程为: 38 --> 3 + 8 --> 11 11 --> 1 + 1 --> 2 由于 2 是一位数,所以返回 2。 示例 1:输入: num = 0 输出: 0 提示:0 <= num <= 231 -

    日期 2023-06-12 10:48:40     
  • leetcode 191 二进制中1的个数 js 实现

    leetcode 191 二进制中1的个数 js 实现

    编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量).)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。 在 Java 中,编译器使用 二进制补码

    日期 2023-06-12 10:48:40     
  • LeetCode笔记:Weekly Contest 308

    LeetCode笔记:Weekly Contest 308

    LeetCode笔记:Weekly Contest 308 0. 小结1. 题目一 1. 解题思路2. 代码实现2. 题目二 1. 解题思路2. 代码实现3. 题目三 1. 解题思路2. 代码实现4. 题目四 1. 解题思路2. 代码实现比赛链接:https://leetcode.com/contest/weekly-contest-308/0. 小结这次的比赛倒是挺顺利的,大概前后也就花了不到一

    日期 2023-06-12 10:48:40     
  • ☆打卡算法☆LeetCode 208. 实现 Trie (前缀树)   算法解析

    ☆打卡算法☆LeetCode 208. 实现 Trie (前缀树) 算法解析

    大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。一、题目1、算法题目“实现Trie类,Trie类是一种树形数据结构,用于高效储存和检索字符串数据集中的键。”题目链接:来源:力扣(LeetCode)链接: 208. 实现 Trie (前缀树) - 力扣(LeetCode)2、题目描述Trie(发音类似 "tr

    日期 2023-06-12 10:48:40     
  • ☆打卡算法☆LeetCode 209. 长度最小的子数组   算法解析

    ☆打卡算法☆LeetCode 209. 长度最小的子数组 算法解析

    大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。一、题目1、算法题目“给定一个整数数组和正整数target,找出数组中满足≥target的长度最小的子数组,返回其长度。”题目链接:来源:力扣(LeetCode)链接: 209. 长度最小的子数组 - 力扣(LeetCode)2、题目描述给定一个含有 n 个正整数的数组

    日期 2023-06-12 10:48:40     
  • ☆打卡算法☆LeetCode 210. 课程表 II   算法解析

    ☆打卡算法☆LeetCode 210. 课程表 II 算法解析

    大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。一、题目1、算法题目“给定一个课程数numCourses,还有选修科目prerequisites表示学习选修a1前需要先选修b1,返回为了完成课程所安排的学习顺序。”题目链接:来源:力扣(LeetCode)链接: 210. 课程表 II - 力扣(LeetCode)2、

    日期 2023-06-12 10:48:40     
  • ☆打卡算法☆LeetCode 214. 最短回文串 算法解析

    ☆打卡算法☆LeetCode 214. 最短回文串 算法解析

    大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。一、题目1、算法题目“给定一个字符串,通过在字符串前面添加字符转换为回文串,找到并返回转换的最短回文串。”题目链接:来源:力扣(LeetCode)链接: 214. 最短回文串 - 力扣(LeetCode)2、题目描述给定一个字符串 s,你可以通过在字符串前面添加字符将其

    日期 2023-06-12 10:48:40     
  • ☆打卡算法☆LeetCode 218. 天际线问题 算法解析

    ☆打卡算法☆LeetCode 218. 天际线问题 算法解析

    大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。一、题目1、算法题目“给定所有建筑物的位置和高度,返回这些建筑物形成的天际线。”题目链接:来源:力扣(LeetCode)链接: 218. 天际线问题 - 力扣(LeetCode)2、题目描述城市的 天际线 是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑

    日期 2023-06-12 10:48:40     
  • ☆打卡算法☆LeetCode 219. 存在重复元素 II 算法解析

    ☆打卡算法☆LeetCode 219. 存在重复元素 II 算法解析

    大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。一、题目1、算法题目“给定一个整数数组和一个整数k,判断数组中是否存在连个不同的索引,返回两个索引对应的数组的值相同是否存在。”题目链接:来源:力扣(LeetCode)链接: 219. 存在重复元素 II - 力扣(LeetCode)2、题目描述给你一个整数数组 num

    日期 2023-06-12 10:48:40     
  • ☆打卡算法☆LeetCode 225. 用队列实现栈 算法解析

    ☆打卡算法☆LeetCode 225. 用队列实现栈 算法解析

    大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。一、题目1、算法题目“使用两个队列实现一个后入先出的栈,支持栈的全部四种操作。”题目链接:来源:力扣(LeetCode)链接: 225. 用队列实现栈 - 力扣(LeetCode)2、题目描述请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作

    日期 2023-06-12 10:48:40     
  • 几道入门的回溯题 | LeetCode

    几道入门的回溯题 | LeetCode

    “回学校后发现大家都在不停的卷,而自己本周只写了没几道力扣题目... ”这周写的几道题整体上都是回溯类型的,也都是些入门级的回溯问题。整体有一套回溯的模板,周末了做个简单的总结记录,也是为了“交作业”哈。关于回溯自己之前转载了一篇大神的文章:回溯详解(强推) liweiwei1419,公众号:做棵大树回溯算法入门级详解 | 优秀文章有兴趣的可以看看。 LC22. 括号生成“数字 n 代表生成括号的

    日期 2023-06-12 10:48:40     
  • 设计循环队列(leetcode 622)

    设计循环队列(leetcode 622)

    文章目录1.问题描述2.难度等级3.热门指数4.解题思路5.实现示例5.1 C++5.2 Golang参考文献1.问题描述设计一个循环队列。循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为环形缓冲器(Ringr Buffer)。循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能

    日期 2023-06-12 10:48:40     
  • 逆波兰表达式求值(leetcode 150)

    逆波兰表达式求值(leetcode 150)

    文章目录1.问题描述2.难度等级3.热门指数4.解题思路5.实现示例5.1 C++5.2 Golang参考文献1.问题描述逆波兰表达式也叫后缀表达式。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。注意,两个整数之间的除法只保留整数部分。示例 1:输入:tokens = ["2","1","+",&q

    日期 2023-06-12 10:48:40     
  • LeetCode笔记:Biweekly Contest 86

    LeetCode笔记:Biweekly Contest 86

    LeetCode笔记:Biweekly Contest 86 0. 赛后总结1. 题目一 1. 解题思路2. 代码实现2. 题目二 1. 解题思路2. 代码实现3. 题目三 1. 解题思路2. 代码实现4. 题目四 1. 解题思路2. 代码实现比赛链接:https://leetcode.com/contest/biweekly-contest-86/0. 赛后总结好久没有打比赛了,昨天兴致所至重新

    日期 2023-06-12 10:48:40     
  • LeetCode笔记:Weekly Contest 311

    LeetCode笔记:Weekly Contest 311

    LeetCode笔记:Weekly Contest 311 0. 小结1. 题目一 1. 解题思路2. 代码实现2. 题目二 1. 解题思路2. 代码实现3. 题目三 1. 解题思路2. 代码实现4. 题目四 1. 解题思路2. 代码实现比赛链接:https://leetcode.com/contest/weekly-contest-311/0. 小结这一次依然没有参加比赛,一边看英超一边打的比赛

    日期 2023-06-12 10:48:40     
  • Leetcode 题目,分石子

    Leetcode 题目,分石子

    题目描述(简单难度) 292、Nim GameYou are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the

    日期 2023-06-12 10:48:40     
  • LeetCode第一题:两数之和-C++

    LeetCode第一题:两数之和-C++

    大家好,又见面了,我是你们的朋友全栈君。 自己的解答(简单的遍历所有可能的组合,找到最终的结果): 【不是特别熟悉C++,先有一个vector的插入:vector.puch_back(),主要是各种运用的不熟练,希望能有改进】 给出简单代码: class Solution { public: vector<int> twoSum(vector<int>

    日期 2023-06-12 10:48:40     
  • LeetCode笔记:Biweekly Contest 84

    LeetCode笔记:Biweekly Contest 84

    LeetCode笔记:Biweekly Contest 84 1. 题目一 1. 解题思路2. 代码实现2. 题目二 1. 解题思路2. 代码实现3. 题目三 1. 解题思路2. 代码实现4. 题目四 1. 解题思路2. 代码实现比赛链接:https://leetcode.com/contest/biweekly-contest-84/1. 题目一给出题目一的试题链接如下:2363. Merge

    日期 2023-06-12 10:48:40     
  • LeetCode笔记:Weekly Contest 307

    LeetCode笔记:Weekly Contest 307

    LeetCode笔记:Weekly Contest 307 1. 题目一 1. 解题思路2. 代码实现2. 题目二 1. 解题思路2. 代码实现3. 题目三 1. 解题思路2. 代码实现4. 题目四 1. 解题思路2. 代码实现比赛链接:https://leetcode.com/contest/weekly-contest-3071. 题目一给出题目一的试题链接如下:2383. Minimum H

    日期 2023-06-12 10:48:40     
  • LeetCode1两数之和

    LeetCode1两数之和

    大家好,又见面了,我是你们的朋友全栈君。题目:给定一个整数数列,找出其中和为特定值的那两个数。你可以假设每个输入都只会有一种答案,同样的元素不能被重用。示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]复制分析:可以直接遍历两遍数组,第一遍用target-nums[i],第二遍找

    日期 2023-06-12 10:48:40     
  • LeetCode周赛306,用原题,你对得起我们吗,日内瓦,退钱!

    LeetCode周赛306,用原题,你对得起我们吗,日内瓦,退钱!

    作者 | 梁唐大家好,我是梁唐。今天是周一,我们照惯例来聊聊昨天的LeetCode周赛。昨天的这场由蔚来汽车赞助,前1000名能获得简历内推的机会。据我所知,蔚来最近正在大规模招人。有想要找工作的同学可以考虑一下。这一场比赛当中有两题与之前的问题非常相似,赛后引起了不小的争议。评论区里吐槽和批评很多,摘录几条,因为评论区是公开的,就不打码了。怎么说呢,虽然LeetCode不像是codeforces

    日期 2023-06-12 10:48:40     
  • 拒绝无脑刷LeetCode,你需要知道这些套路

    拒绝无脑刷LeetCode,你需要知道这些套路

    作者 | 梁唐大家好,我是梁唐。最近几次送书的活动都是算法相关的书籍,反响很不错。大家看算法学算法,本质还是为了给面试做准备,找一份不错的工作。所以今天就和大家聊聊大公司的面试环节经常涉及的算法题类型以及准备策略。问题难度首先大家比较关心的就是面试时候出现的算法题的难度,从我的个人经验来看,除了有一次和同样有acm获奖经历的面试官切磋了一次之外,基本上难度都没有超过LeetCode的困难难度。并且

    日期 2023-06-12 10:48:40     
  • 老梁你居然说刷LeetCode Easy找不到工作,你一定没做过Java

    老梁你居然说刷LeetCode Easy找不到工作,你一定没做过Java

    作者 | 梁唐大家好,我是梁唐。最近遇到一件让我挺难受的事,老梁在知乎的付费咨询里被人给打了差评。打了差评的原因居然是觉得老梁没有做过Java相关的工作……说实话,看到这句话的时候,我真想找出当年阿里主搜团队的offer甩在他脸上,要知道老梁当年是一年的工作经验破格录取拿到offer的……事情的起因是前两天老梁在知乎的付费咨询收到了一条提问:这里面几个关键字非常惊人,自学Java、转行、三个月时间

    日期 2023-06-12 10:48:40     
  • LeetCode第三题,五个版本迭代优化带你吃透two pointers算法

    LeetCode第三题,五个版本迭代优化带你吃透two pointers算法

    作者 | 梁唐大家好,我是梁唐。今天给大家带来LeetCode第三题的题解——无重复字符的最长子串,题意等描述来源于力扣官网。题意给定一个字符串s,要求返回其中不包含重复字符的最长子串的长度。样例示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = &qu

    日期 2023-06-12 10:48:40     
  • LeetCode周赛307,亚马逊赞助的高质量场

    LeetCode周赛307,亚马逊赞助的高质量场

    作者 | 梁唐大家好,我是梁唐。今天是周一,找惯例我们来聊聊昨天的LeetCode周赛。昨天是LeetCode周赛第307场,由亚马逊赞助。和之前相比,本次周赛的题目质量提升了不少。摘取两条评论区的精彩评论:赢得比赛需要的最少训练时长你正在参加一场比赛,给你两个 正 整数 initialEnergy 和 initialExperience 分别表示你的初始精力和初始经验。另给你两个下标从 0 开始

    日期 2023-06-12 10:48:40     
  • LeetCode刷题记录

    LeetCode刷题记录

    1 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]我只会用

    日期 2023-06-12 10:48:40     
  • LeetCode 算法题系列(第一周 25道)

    LeetCode 算法题系列(第一周 25道)

    【算法进度 213/400 (〃'▽'〃)】,继续加油! 136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 复制哈希表/**

    日期 2023-06-12 10:48:40