草庐IT

【LeetCode力扣】70. 爬楼梯 (简单)

目录1、题目介绍2、解题2.1、解题思路2.2、图解说明2.3、解题代码 (1)滚动数组(用的是c语言)(2)递归(用的是c语言)1、题目介绍原题链接:70.爬楼梯-力扣(LeetCode)示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶提示:12、解题2.1、解题思路我们可以用F(n)来表示爬到第n个阶梯的总方案数,因为一次可以上1或2个阶梯,所以最后一步可能跨了1个台阶,也可能跨了2个台阶;意思就是最后一步可能是从第n-1个台阶跨到了第n个台阶,或者是从

算法萌新闯力扣:找出字符串中第一个匹配项点下标

 力扣热题:找出字符串中第一个匹配项点下标开篇 这道题个人感觉非常不错,虽然是简单题,但可以巩固几个大家平时容易忘记的有关字符串的知识点,我在做题时也掉进去了。题目链接:28.找出字符串中第一个匹配项点下标题目描述代码思路及知识点1.利用String类中的substring方法,可以快速秒杀这道题,时间复杂度击败100%!substring:截取指定访问的子串我们可以在haystack中截取和needle长度相同的子串,与needle字符串进行比较,得到想要的结果2.两个字符串的比较,如果是用"==",比较的是地址,而比较是否相同,要用equals()方法,做题时我就中招了,一直不知道哪里出错

力扣第121题 买卖股票的最佳时机 c++ 动态规划解法 熟练dp思维 之简单题 附Java代码

题目(在我以前有贪心解法,也可以去参考参考)贪心解法股票问题https://blog.csdn.net/jgk666666/article/details/133978629121.买卖股票的最佳时机简单相关标签数组  动态规划给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例1:输入:[7,1,5,3,6,4]输出:5解释:在第2天(股票价格=

力扣100097. 合法分组的最少组数(哈希+贪心)

题目描述:给你一个长度为 n 下标从 0 开始的整数数组 nums 。我们想将下标进行分组,使得 [0,n-1] 内所有下标 i 都 恰好 被分到其中一组。如果以下条件成立,我们说这个分组方案是合法的:对于每个组 g ,同一组内所有下标在 nums 中对应的数值都相等。对于任意两个组 g1 和 g2 ,两个组中 下标数量 的 差值不超过 1 。请你返回一个整数,表示得到一个合法分组方案的 最少 组数。示例1:输入:nums=[3,2,3,2,3]输出:2解释:一个得到2个分组的方案如下,中括号内的数字都是下标:组1->[0,2,4]组2->[1,3]所有下标都只属于一个组。组1中,nums[0

力扣138:随机链表的复制

力扣138:随机链表的复制题目描述:给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链表中有X和Y两个节点,其中X.random-->Y。那么在复制链表中对应的两个节点x和y,同样有x.random-->y。返回复制链表的头节点。用一个由n个节点组成的链表来

力扣每日一道系列 --- LeetCode 160. 相交链表

📷江池俊:个人主页🔥个人专栏:✅数据结构探索✅LeetCode每日一道🌅有航道的人,再渺小也不会迷途。文章目录LeetCode160.相交链表思路:首先计算两个链表的长度,然后判断两个链表的尾节点是否相同。如果不同,那么这两个链表就没有交集,返回空;如果相同,那么就通过计算两个链表的长度差,让长链表先走差距步,然后两个链表一起走,直到它们相遇。具体步骤如下:初始化两个指针cur1和cur2分别指向headA和headB,即两个链表的头节点。同时,初始化两个变量lenA和lenB分别用来计算两个链表的长度。通过循环计算lenA和lenB,这里的循环是计算链表的长度,cur1和cur2分别最后会指

环形链表(力扣oj)

给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。否则,返回 false /***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/boolhasCycle(structListNode*head

力扣labuladong——一刷day18

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、力扣26.删除有序数组中的重复项二、力扣83.删除排序链表中的重复元素三、力扣27.移除元素四、力扣283.移动零五、力扣167.两数之和II-输入有序数组六、力扣344.反转字符串七、力扣最长回文子串前言双指针技巧处理数组问题,常用的是左右指针,和快慢指针一、力扣26.删除有序数组中的重复项classSolution{publicintremoveDuplicates(int[]nums){inti,j;for(i=0,j=0;jnums.length;){if(nums[i]==nums[j]){j++;}el

【算法-动态规划】零钱兑换问题-力扣 322

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kuan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kafka,Spring,微服务,Netty等常用开发工具系列:罗列常用的开发工具,如IDEA,Mac,Alfred,electerm,Git,typora,apifox等数据库系列:详细总结了常用数据库mysql技术点,以及工作中遇到的mysql问题等懒人运维系列:总结好用的命令,解放双手

力扣每日一道系列 --- LeetCode 88. 合并两个有序数组

📷江池俊:个人主页🔥个人专栏:✅数据结构探索✅LeetCode每日一道🌅有航道的人,再渺小也不会迷途。文章目录思路1:暴力求解思路2:原地合并LeetCode88.合并两个有序数组思路1:暴力求解首先创建一个临时数组,其大小为第一个数组的大小(即nums1Size),其作用主要是。通过循环遍历两个数组,将两个数组元素比较后较小的元素依次加入到临时数组中,直到有一个数组遍历完即可(注意:这里遍历完是只有效元素被遍历完,因为nums1中有无效元素0)。将未遍历完的数组剩下的元素依次加入到临时数组中。将临时数组中的元素依次拷贝到nums1数组中。释放临时数组的空间。时间复杂度:O(m+n)空间复杂度