草庐IT

力扣链表oj面试题,保姆级图解

 少年也识愁滋味,写作码文挠破头。 前言:期末考试临近,博主也在备战期末,自上篇链表oj面试题博客的发布后,近一个月没有新文出炉了,博主跟小伙伴们一样都在好好复习呢!!不知道诸位小伙伴考的如何,在这里博主给大家伙拜个早年啦!同时也很感谢各位小伙伴们的支持!!新年新气象,2024一起加油吧!!!目录1.链表分割 1)代码实现 2.链表的回文结构2)代码实现3.相交链表3)代码实现 4.环形链表4)代码实现1.链表分割题目:编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前首先这有个链表,题目没有说是有序的,所以我们以乱序的链表为例:假设x=30,那么根据题意

力扣:494. 目标和(动态规划)(01背包)

题目:给你一个非负整数数组nums和一个整数target。向数组中的每个整数前添加‘+’或‘-’,然后串联起所有整数,可以构造一个表达式例如,nums=[2,1],可以在2之前添加‘+’,在1之前添加‘-’,然后串联起来得到表达式“+2-1”。返回可以通过上述方法构造的、运算结果等于target的不同表达式的数目。示例1:输入:nums=[1,1,1,1,1],target=3输出:5解释:一共有5种方法让最终目标和为3。-1+1+1+1+1=3+1-1+1+1+1=3+1+1-1+1+1=3+1+1+1-1+1=3+1+1+1+1-1=3示例2:输入:nums=[1],target=1输出:

【算法】力扣【动态规划、数位DP模板题】233. 数字 1 的个数

233.数字1的个数文章目录【算法】力扣【动态规划、数位DP】233.数字1的个数题目描述输入输出示例提示解题思路代码解析第一部分第二部分第三部分完整Python3代码复杂度分析总结【算法】力扣【动态规划、数位DP】233.数字1的个数题目描述本文旨在解析力扣算法题233:“数字1的个数”。难度等级:困难。该算法问题要求计算在非负整数n以内(包括n),所有数位上数字1出现的次数。这是一道数位DP模板题。这里的解法参考了灵神(灵茶山艾府)的第二版数位DP。输入输出示例示例1:输入:n=13输出:6解释:数字1在以下数字中出现:1,10,11,12,13,其中11中数字1出现两次,合计6次。示例2

【力扣-876】链表的中间结点

🖊作者:Djx_hmbb📘专栏:数据结构😆今日分享:----------小Tips:虽然都是口服液体制剂,且看起来单支容量都一样,但是“藿香正气水”与“藿香正气口服液”的区别你知道吗?藿香正气水里含有40%-50%的乙醇,而藿香正气口服液不含有乙醇。同时藿香正气水不能和头孢一起服用(因为含有酒精),而藿香正气口服液可以和头孢一起服用。文章目录✔题目链接:✔题目:✔解题思路:遍历两次:先计算链表长短,再将指针移到该位置遍历一次:设计一个快指针(步长=2)和一个慢指针(步长=1)✔遍历两次-->代码详情:✔遍历一次-->代码详情:✔图解:家人们,点个![请添加图片描述](https://img-b

「暴力」拿出最少数目的魔法豆(力扣第2171题)

本题为1月18日力扣每日一题题目来源:力扣第2171题题目tag:数位dp动态规划题面题目描述给定一个正整数数组beans,其中每个整数表示一个袋子里装的魔法豆的数目。请你从每个袋子中拿出一些豆子(也可以不拿出),使得剩下的非空袋子中(即至少还有一颗魔法豆的袋子)魔法豆的数目相等。一旦把魔法豆从袋子中取出,你不能再将它放到任何袋子中。请返回你需要拿出魔法豆的最少数目。示例示例1输入:beans=[4,1,6,5]输出:4解释:我们从有1个魔法豆的袋子中拿出1颗魔法豆。剩下袋子中魔法豆的数目为:[4,0,6,5]然后我们从有6个魔法豆的袋子中拿出2个魔法豆。剩下袋子中魔法豆的数目为:[4,0,4

力扣刷题篇之《空白替换》

前言❤️铁汁们大家好,欢迎大家来到出小月的博客里,今天小月呢写了一道题目叫替换空格,但是呢,写完之后调试了半天不知道哪里错了,经过小月的坚持不懈,终于成功,来分享给大家小月的错误,希望大家看完我这篇文章都能够“涨芝士”,感觉小月写的还不错的话,记得👍🏻点赞加关注😘鼓励一下博主哦,不然下次可找不到我啦❗❗作者简介❤️作者的主页:出小月的《程序员历险记》❤️专栏:《C语言》,《数据结构初阶》😊希望大家都能够:好好学习,天天编程❗❗❗文章目录前言作者简介一、题目介绍二、题目链接三、小月的思路四、小月出现的错误错误1错误2五、正确代码总结一、题目介绍🐻请实现一个函数,把字符串s中的每个空格替换成"%2

「数位dp」统计整数数目(力扣第2719题)

本题为1月16日力扣每日一题题目来源:力扣第2719题题目tag:数位dp动态规划题面题目描述给你两个数字字符串num1和num2,以及两个整数max_sum和min_sum。如果一个整数x满足以下条件,我们称它是一个好整数:\(num1\leqx\leqnum2\)\(min\_sum\leqdigit\_sum(x)\leqmax\_sum\)请你返回好整数的数目。答案可能很大,请返回答案对$10^9+7$取余后的结果。注意,digit_sum(x)表示x各位数字之和。示例示例1输入:num1="1",num2="12",min_num=1,max_num=8输出:11解释:总共有11个整

「数位dp」统计整数数目(力扣第2719题)

本题为1月16日力扣每日一题题目来源:力扣第2719题题目tag:数位dp动态规划题面题目描述给你两个数字字符串num1和num2,以及两个整数max_sum和min_sum。如果一个整数x满足以下条件,我们称它是一个好整数:\(num1\leqx\leqnum2\)\(min\_sum\leqdigit\_sum(x)\leqmax\_sum\)请你返回好整数的数目。答案可能很大,请返回答案对$10^9+7$取余后的结果。注意,digit_sum(x)表示x各位数字之和。示例示例1输入:num1="1",num2="12",min_num=1,max_num=8输出:11解释:总共有11个整

「双指针」删除排序链表中的重复元素 II(力扣第82题)

本题为1月15日力扣每日一题题目来源:力扣第82题题目tag:链表双指针题面题目描述给定一个已排序的链表的头head,删除原始链表中所有重复数字的节点,只留下不同的数字。返回已排序的链表。示例示例1输入:head=[1,2,3,3,4,4,5]输出:[1,2,5]示例2输入:head=[1,1,1,2,3]输出:[2,3]提示链表中节点数目在范围$[0,300]$内$-100\leqNode.val\leq100$题目数据保证链表已经按升序排列思路分析本题要做的其实就两件事,一是在链表中找到重复元素,二是删除链表的一些元素.第一件事很好完成,只需要在编译时看一看当前元素和后一个元素的值是否相等

力扣:63. 不同路径 II(动态规划)

题目:一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用1和0来表示。示例1:输入:obstacleGrid=[[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3网格的正中间有一个障碍物。从左上角到右下角一共有2条不同的路径:向右->向右->向下->向下向下->向下->向右->向右示例2:输入:obstacleGrid=[[0,1],[0,0]]输出:1提示: