归档
Growth | Study
08
30
32-最长有效括号 32-最长有效括号
32. 最长有效括号括号问题常常可以用栈来处理 stack idx ; // 如果是左括号,则左括号的索引入栈 vector v; // 记录全部有效括号的索引 如果当前为右括号,且栈顶有左括号,则记录栈顶左括号的索引和当前右括号的索
2021-08-30
26
第四章:如何实现一个计算器 第四章:如何实现一个计算器
labuladong如何实现一个计算器 227. 基本计算器 II遇到加号,就让这个数变正遇到减号,就让这个数变负遇到乘号,就让当前的数乘上之前的数遇到除号,就让当前数被之前的数除 思路:维护一个栈,若为加减,则直接入栈。若为乘除,则栈顶元
2021-08-26
26
640-求解方程 640-求解方程
640. 求解方程 示例 : 输入: “x+5-3+x=6+x-2”输出: “x=2” 如果方程没有解,请返回“No solution”。 如0x=10。此时x的系数为0,常数不为0 如果方程有无限解,则返回“Infinite sol
2021-08-26
23
24-两两交换链表中的节点 24-两两交换链表中的节点
24. 两两交换链表中的节点 链表的题目通常可以通过画过程示意图解决 节点虽然入栈了,但是栈中节点之间的指向仍是不变的 /** * Definition for singly-linked list. * struct ListNo
2021-08-23
20
第三章:如何高效进行模幂运算 第三章:如何高效进行模幂运算
labuladong如何高效进行模幂运算 372. 超级次方先把问题分解为子问题 子问题1:如何高效求幂?对应以下题目: 50. Pow(x, n)快速幂解析(分治法角度) 通过x*x,每次x变为x^2; 通过n//2向下取整,n变为原来
2021-08-20
19
19
第四章:烧饼排序算法 第四章:烧饼排序算法
labuladong烧饼排序算法 969. 煎饼排序通过递归思想解决问题 (本题找到可行解即可,因此与示例的输出不一致,但仍能通过测试用例) 先把最大的烧饼放到最后面。怎么放呢? 找到最大烧饼对应的索引,翻转0到索引处的烧饼,先使最大烧饼
2021-08-19
17
16
16
解析递归和回溯的关系 解析递归和回溯的关系
解析递归和回溯的关系递归递归就是把大问题对应的小问题解决后(注意:大小问题结构一致),再根据小问题的结果完善大问题。遇到递归问题,要想明白: 递归函数的含义:这个函数要实现什么功能?返回什么结果?(一定不要跳进递归,相信这个函数能返回你需
2021-08-16
14