Contact me:

12 2021 档案

摘要:##开始的想法 生成n个独立的(),然后把最后一个往前面扔(重复这个过程) 但是不好实现 ##答案解法思路是类似生成然后去除不符合的项 ###用动规好理解一些 n+1可以理解为比n项多了一个括号,所以把n项放在括号里面p项和外面q项排列;p和q就转化成了子问题。但是要注意p和q的顺序是固定的,可以是 阅读全文
posted @ 2021-12-26 16:15 impwa 阅读(39) 评论(0) 推荐(0)
摘要:leetcode的提交不知道是不是有问题,我写的在本地跑起来比官方答案快,但是提交失败。 ##我的思路 正推,字符串首尾各放一指针,向中间查找相同项,找到后开始判断是否回文串,当两指针相遇判断结果,记录长度。并且第一个找到的回文串肯定是最大,所以前面的指针向前继续查找 string longestP 阅读全文
posted @ 2021-12-24 19:21 impwa 阅读(45) 评论(0) 推荐(0)
摘要:1,确定状态 2,找到转移公式 3,确定初始条件以及边界条件 ##leetcode53 最大子数组和 https://leetcode-cn.com/problems/maximum-subarray/ 两者关系转换条件--后无效性! ###求连续项最大和 class Solution { publ 阅读全文
posted @ 2021-12-23 11:01 impwa 阅读(42) 评论(0) 推荐(0)
摘要:爬楼梯问题抽象出来就是斐波那契数列求和, 像这样递推公式,第一时间想到就是用递归 ##普通树形递归 一提交就爆栈,当n过大时压不住 case 10: result = 89; case 20: result = 10946; case 45: result = 1836311903; class S 阅读全文
posted @ 2021-12-22 10:51 impwa 阅读(72) 评论(0) 推荐(0)
摘要:##哈希表 初始:将key通过hash function转换到地址 查询:将查询值通过哈希转换,访问内存地址,对比key值 ##使用 查询key值,O(k) class Solution { public: vector<int> twoSum(vector<int> nums,int t){ un 阅读全文
posted @ 2021-12-21 10:48 impwa 阅读(46) 评论(0) 推荐(0)
摘要:第一次写成了O(n^2) 没搞懂初始化构建大顶堆有什么用,就每次都从下往上比较然后生成大顶堆; 要让复杂度降到nlog(n)得利用堆的性质呀,从上往下比较才能是logn class Solution { public: vector<int> sortArray(vector<int>& nums) 阅读全文
posted @ 2021-12-20 16:34 impwa 阅读(38) 评论(0) 推荐(0)
摘要:1.前后两指针互换 void Qrank(vector<int>& nums,int start,int over){ if(start>=over) return; int left=start; int right=over; // int rdm = rand() % (over - star 阅读全文
posted @ 2021-12-19 18:54 impwa 阅读(52) 评论(0) 推荐(0)
摘要:主要就是利用左右指针把O(n3)降到O(n2) 剩下的就想办法排除重复 class Solution { public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> ts;//返回 int m = num 阅读全文
posted @ 2021-12-18 15:26 impwa 阅读(30) 评论(0) 推荐(0)
摘要:##最容易想到的 利用sort() class Solution { public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { for(int i=0;i<n;i++){ nums1[m+i]=nums2[i 阅读全文
posted @ 2021-12-18 11:32 impwa 阅读(45) 评论(0) 推荐(0)
摘要:抽象基类的派生子类构造函数按照初始化列表的写法怎么也写不对,查资料后记录 ##要点如下 公有类型派生类不能访问基类私有成员 --但我这里基类没有private成员 为什么要调用父类的构造函数? 构造函数用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方 阅读全文
posted @ 2021-12-12 09:57 impwa 阅读(2372) 评论(0) 推荐(0)
摘要:下载源代码包 解压 使用MSYS2或MINGW64 cd ./configure make make install 阅读全文
posted @ 2021-12-11 17:53 impwa 阅读(400) 评论(0) 推荐(0)
摘要:先怎么想不出递归解法,想到只能用BFS队列。。。 ##BFS /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode 阅读全文
posted @ 2021-12-06 19:39 impwa 阅读(36) 评论(0) 推荐(0)
摘要:##非递归 在做层序遍历之前,一直认为递归最牛逼,非递归是 💩 。然后用到BFS时递归没法用了,遂硬着头皮回去看,发现递归原理也是调用栈来储存。。。 其实多理解一下发现思路和递归差不多,但并不是一来就是按照顺序压栈,一般先压单边,然后弹出的时候再处理。 思路 不了解三种遍历方式可以先看看介绍 1. 阅读全文
posted @ 2021-12-05 22:56 impwa 阅读(43) 评论(0) 推荐(0)
摘要:#Drunk Post: Things I've learned as a Sr Engineer I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engi 阅读全文
posted @ 2021-12-02 22:39 impwa 阅读(313) 评论(0) 推荐(0)
摘要:##题目 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 进阶: 你可以运用递归和 阅读全文
posted @ 2021-12-02 17:08 impwa 阅读(27) 评论(0) 推荐(0)
摘要:种一棵二叉树最好的时间是十年前,其次是现在:smile:。 先讲一下前序、中序、后序遍历, 其实就是(访问当前节点的值的代码cout<<(root->val)<<endl;)与递归代码(递归左右节点)位置关系来区分 ##二叉树遍历类型 ###前序遍历 {//前序遍历 if (root==nullpt 阅读全文
posted @ 2021-12-02 11:55 impwa 阅读(248) 评论(0) 推荐(0)
摘要:#Git 的 sparse checkout 跟 shallow clone/pull 想下载个大仓库到本地,但是zip文件老是出错而且下载时间长,遂使用此方法完成独立的文件夹下载。 #步骤 (2~4顺序可换): 1.建立一个空的git 本地仓库: $ git init new.project && 阅读全文
posted @ 2021-12-01 16:17 impwa 阅读(3343) 评论(0) 推荐(0)
摘要:#改代理 看自己代理软件的端口 ##比如 ##设置 git config --global http.proxy http://127.0.0.1:1087 ##成了 ##如果想取消 取消全局代理: git config --global --unset http.proxy git config 阅读全文
posted @ 2021-12-01 15:54 impwa 阅读(2259) 评论(0) 推荐(0)