![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++算法
江浙沪小有名气的男子
这个作者很懒,什么都没留下…
展开
-
LeetCode 53.最大子序和 动态规划 C++
简单题 基础思路:暴力的话,for循环找以数组每一个位置为起点的最大值,再做比较 动态规划:数组num,位置i之前的最大值为,位置i-1的最大值+num[i]或者num[i]自身 可能以i为开头 class Solution { public: int max(int a, int b) { if (a > b) { return a; } else { return b; } }原创 2021-05-11 17:22:26 · 93 阅读 · 0 评论 -
LeetCode 单链表合并 C++
两个单链表进行合并 注意点: 判断空链表的状态 小的数往前插入,大的数找到合适位置插入 单链表没有向前的指针,只能找到合适位置后重新遍历 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(原创 2021-05-10 15:05:48 · 144 阅读 · 0 评论 -
Leetcode热题 有效的括号 C++
简单题,练练手,不太熟悉C++的用法 思路:栈存储,注意判空,若为左括号入栈,若为右括号比较栈顶与新元素是否是一组括号 #include <stack> class Solution { public: int isExist(char a, char* p) { for (int i = 0; i < 3; i++) { if (a == p[i]) { return i; }原创 2021-05-10 10:57:19 · 67 阅读 · 0 评论 -
动态规划 C++,最大上升子串
题目: 华华要给厂里进一批新箱子共n个(n<=500),箱子用来装不同的器件。用一个正整数ai(1<=ai<=10000) (1<=i<=n)来表示每个箱子的高度。 现在华华要从前往后选出m个箱子运到厂房用,因为厂房里的货物一个比一个大,所以这m个箱子要保证后面一个比前面一个高, 也就是对任意的i < j 有 ai < aj. 那么m最大可以是多少呢? 核心思路: 找到状态转移方程,该题为count[i] = max(count[i], count[j] + 1)原创 2021-04-08 10:44:55 · 467 阅读 · 0 评论