摘要: 使用动态规划解决正则表达式匹配问题 class Solution {public: bool isMatch(string& ... 阅读全文
posted @ 2021-09-20 14:48 勒勒乐了 阅读(27) 评论(0) 推荐(0)
摘要: 方法:分为几个部分判断 DA[.B][E/eC] D 其中D表示前后的空格,需要处理,跳过即可 A可以带正负号 有符号数 B无符号数 C可以为有符号数(带+-号) 小数点.后面必须是无符号数或者没有 如1. 同时小数点.前面可以没有数字 所以用numer... 阅读全文
posted @ 2021-09-20 13:30 勒勒乐了 阅读(30) 评论(0) 推荐(0)
摘要: 方法一 堆排序 自建堆 heapMax方法,从上至下调整堆 pop时,可以使用自上而下调整堆,调用heapMax(arr,0,sz-1); push时,需要自下到上调整即 从上到下调整: void heapDown(vector& arr,int st... 阅读全文
posted @ 2021-09-20 10:49 勒勒乐了 阅读(74) 评论(0) 推荐(0)
摘要: 这道题很简单,利用双指针。 主要是以下几个注意点 1. 判断链表是否为空 2. 判断k是否为0,若为0无意义 3.判断k是否超出了链表长度 /** * Definition for singly-linked list. * struct ListNode {... 阅读全文
posted @ 2021-09-19 09:14 勒勒乐了 阅读(29) 评论(0) 推荐(0)
摘要: 这道题目的方法 1.遍历链表 找到当前结点与下一结点相等的节点,并将标记删除flag设置为true 2.然后如果不需要删,则继续向后遍历,同时记录pre指针 3.如果删除: 1. 记录cur的值,即删除节点的值val。设置一个删除节点pDel,... 阅读全文
posted @ 2021-09-18 20:33 勒勒乐了 阅读(39) 评论(0) 推荐(0)
摘要: 1. 这道题为简单题目,但是还有需要好好思考的 2. 首先不能使用额外数组合并,不然就没得后文了 3. nums1后面有0填充,且填充数量正好是n,整个数组大小即m+n能够容纳合并后的数据 4.既然要在原来的数组上操作,有没有可能能够避免移动数据(降低时间复杂... 阅读全文
posted @ 2021-09-14 10:34 勒勒乐了 阅读(31) 评论(0) 推荐(0)
摘要: ### 剪绳子一 利用动态规划 状态转移方程 为啥是这个样子?首先 代表 长度为i的绳子被剪去j,且继续剪(子问题) 表示长度为i的绳子被剪去j,不剪了的乘积 注意初始化: n<2 f=0 n==2 f = 1(因为可以分为1 * 1) n==3 f... 阅读全文
posted @ 2021-09-14 09:40 勒勒乐了 阅读(62) 评论(0) 推荐(0)
摘要: 剑指offer思想,挺简单的思路 使用两个函数 findUnsignedInt() 查找无符号整数(不带正负号) findInt() 查找有符号整数整体数值可以表示为 D[A].[B]e/E[C]D 1. D表示空格,首先去掉起始空格 2. A为开始,可以没有... 阅读全文
posted @ 2021-09-14 09:35 勒勒乐了 阅读(63) 评论(0) 推荐(0)
摘要: 最大公约数和最小公倍数 gcd()最大公约数:辗转相除法 递归方法:简单,不用判断a,b大小,因为 如果a<b 调用gcd(b,a%b)==变为gcd(b,a) 迭代,需要判断一下a b大小,若a<b 交换 然后while循环 lcm最小公倍数 lcm(... 阅读全文
posted @ 2021-09-08 10:42 勒勒乐了 阅读(62) 评论(0) 推荐(0)
摘要: 1.父类析构函数不是虚函数 #includeusing namespace std;class Base{public: Base() { coutusing namespace std;class Base{public: B... 阅读全文
posted @ 2021-09-06 12:28 勒勒乐了 阅读(121) 评论(0) 推荐(0)