草庐IT

leetcode刷题之回文链表

全部标签

算法沉淀——动态规划之回文串问题(上)(leetcode真题剖析)

算法沉淀——动态规划之回文串问题01.回文子串02.最长回文子串03.分割回文串IV04.分割回文串II05.最长回文子序列06.让字符串成为回文串的最少插入次数01.回文子串题目链接:https://leetcode.cn/problems/palindromic-substrings/给你一个字符串s,请你统计并返回这个字符串中回文子串的数目。回文字符串是正着读和倒过来读一样的字符串。子字符串是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例1:输入:s="abc"输出:3解释:三个回文子串:"a","b","c"示例

算法沉淀——动态规划之子序列问题(上)(leetcode真题剖析)

算法沉淀——动态规划之子序列问题01.最长递增子序列02.摆动序列03.最长递增子序列的个数04.最长数对链01.最长递增子序列题目链接:https://leetcode.cn/problems/longest-increasing-subsequence/给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101],因此长度为

【C语言必刷题】5.判断闰年

📚博客主页:爱敲代码的小杨.✨专栏:《JavaSE语法》|《数据结构与算法》|《C生万物》❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️🙏小杨水平有限,欢迎各位大佬指点,相互学习进步!文章目录🔥题目描述🔥解题思路🔥代码🔥扩展🔥题目描述使用C语言输出一个年份,判断这个年份是否为闰年。🔥解题思路判断闰年的方法:四年一闰百年不闰:即如果year能够被4整除,但是不能被100整除,则year是闰年。每四百年再一闰:如果year能够被400整除,则year是闰年。🔥代码#includeintmain(){ intyear=0; scanf("%d",&year); if(((yea

LeetCode35. 搜索插入位置(C++)

LeetCode35.搜索插入位置题目链接代码题目链接https://leetcode.cn/problems/search-insert-position/代码classSolution{public:intsearchInsert(vectorint>&nums,inttarget){intleft=0;intright=nums.size()-1;while(leftright){intmiddle=left+(right-left)/2;if(nums[middle]>target){right=middle-1;}elseif(nums[middle]target){left=mid

LeetCode704. 二分查找(C++)

LeetCode704.二分查找题目链接代码题目链接https://leetcode.cn/problems/binary-search/description/代码classSolution{public:intsearch(vectorint>&nums,inttarget){intleft=0;intright=nums.size()-1;while(leftright){intmiddle=left+(right-left)/2;if(nums[middle]>target){right=middle-1;}elseif(nums[middle]target){left=middle+

leetcode:491.递增子序列

1.误区:不能直接对数组排序再求解子集,因为那样就改变了原有数组的顺序2.树形结构:一个一个取数,然后保证是递增序列,且不能重复。(数层上不可以重复取,树枝上可以重复取)收集的结果不光是叶子节点。所以注意两点:数层节点去重、满足递增条件3.代码实现:(去重方法:记录本层递归用到了哪些元素,不要重复)

算法沉淀——动态规划之子数组、子串系列(上)(leetcode真题剖析)

算法沉淀——动态规划之子数组、子串系列01.最大子数组和02.环形子数组的最大和03.乘积最大子数组04.乘积为正数的最长子数组长度01.最大子数组和题目链接:https://leetcode.cn/problems/maximum-subarray/、给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组是数组中的一个连续部分。示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。示例2:输入:nums=[1]输出:1示例3:输入:nums=[5,4,-1,7,8

【C++】list链表容器功能模拟实现

目录介绍一,容器的结构设计二,构造函数与赋值运算符三,析构函数四,list容器接口1,begin和end2,insert和erase3,其它常用接口函数介绍    上一次介绍了list双向链表容器的迭代器模拟,这次模拟实现list的简单功能,尤其要注意构造函数、析构函数、以及赋值运算符重载的实现。这里需要进行深拷贝和确定“哨兵结点”。    我们先回顾list迭代器的模拟结构,如下://结点template//模板structListNode{  ListNode*_next; //指向前结点的指针  ListNode*_last; //指向后结点的指针  T_data;  ListNode(

算法沉淀——动态规划之简单多状态 dp 问题(下)(leetcode真题剖析)

动态规划之简单多状态dp问题01.买卖股票的最佳时机含冷冻期02.买卖股票的最佳时机含手续费03.买卖股票的最佳时机III04.买卖股票的最佳时机IV01.买卖股票的最佳时机含冷冻期题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown/给定一个整数数组prices,其中第prices[i]表示第*i*天的股票价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。**注意:**你不能同时

代码随想录训练营第13天 | LeetCode 239. 滑动窗口最大值、​​​​​​LeetCode 347.前 K 个高频元素、总结

目录LeetCode239. 滑动窗口最大值文章讲解:代码随想录(programmercarl.com)视频讲解:单调队列正式登场!|LeetCode:239.滑动窗口最大值_哔哩哔哩_bilibili思路​​​​​​LeetCode347.前 K 个高频元素文章讲解:代码随想录(programmercarl.com)视频讲解:手把手带你学会操作链表|LeetCode19.删除链表的倒数第N个节点_哔哩哔哩_bilibili思路总结LeetCode239. 滑动窗口最大值文章讲解:代码随想录(programmercarl.com)视频讲解:单调队列正式登场!|LeetCode:239.滑动窗口