自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DUT_LYH

行百里 半九十

  • 博客(21)
  • 收藏
  • 关注

原创 【华为机试】牛客网

题目链接百度百科二分图:将节点分成两组,A和B,边都是横跨在两组之间的,组内是没有边的相连的判断方法,染色法匹配:边的集合,任意两个边都没有公共的节点最大匹配:找出匹配的边集合最大匈牙利算法交错路增广路径需要证明的是没有增广路径的时候就是最大匹配了知乎一篇写的很不错的文章https://zhuanlan.zhihu.com/p/96229700看了这个算法,用了男女生匹配的方式进行讲解,其实match函数就是在找增广路径增广路径要以没有匹配的节点开始,所以match(i)的

2021-04-27 20:58:43 422

原创 smartLab:组会分享资源

线性代数算法库和它的GPU加速版http://www.netlib.org/blas/https://docs.nvidia.com/cuda/cublas/index.html帕累托最优https://baike.baidu.com/item/%E5%B8%95%E7%B4%AF%E6%89%98%E6%9C%80%E4%BC%98/1768788?fr=aladdin两个解不能互相dominate...

2021-04-23 09:43:24 225

原创 第22次CCF计算机软件能力认证

https://www.acwing.com/problem/search/1/?csrfmiddlewaretoken=3RFSue6bA7LtmdvCahmiVOiJuiS8LFuD0grCHGFeB8k6jmuYxDYU2gigSL6fqVoF&search_content=%E7%AC%AC22%E6%AC%A1CCF%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%BD%AF%E4%BB%B6%E8%83%BD%E5%8A%9B%E8%AE%A4%E8%AF%81

2021-04-22 16:37:31 480

原创 leetcode 面试题 08.09. 括号

卡特兰数百度百科图片来自百度侵权联系删除想象你站在A点,想着(n,n)点前进,只能在对角线下方走,即向右走的步数要大于等于向上走的步数然后每次可以选择向右向上走这样遍历完所有可能的路径就能得到答案class Solution {public: vector<string>ret; int n=0; vector<string> generateParenthesis(int n) { this->n = n;

2021-04-12 21:34:47 137

原创 POJ1664 放苹果【dp:整数无序拆分】

poj1664dp[i][j]表示i个苹果考虑放进j个盘子里面考虑的意思就是不一定都会用到这j个盘子if(i>=j){ dp[i][j] = dp[i-j][j] + dp[i][j-1]; }else{ dp[i][j] = dp[i][i];}#include<iostream>#include <string.h>using namespace std;typedef long long ll;#define debug

2021-04-11 22:22:20 183

原创 leetcode 1123. 最深叶节点的最近公共祖先【dfs】

图片来自leetcode,侵权请联系删除题解参考如图,我们需要找一个节点,这个节点之下的子树能覆盖所有的最后一层的叶子首先就是想到,如果最后一层叶子都在根的左边,那么我们就要在左边找如果两边都有的话,直接就是根节。可以通过判断左右子树的高度来进行判断调用堆栈分析如图,在判断树的高度的时候,使用深度优先搜索当搜索到6 7 4 0 8的时候,发现左右子树高度都是零,符合要求递归依次向上,7 4 的父亲节点2满足, 0 8 的父节点1满足对于5来说右子树的高度更高,递归返回的时候已经得到了两.

2021-04-10 21:28:53 206

原创 二叉树层次遍历,使用nullptr分割层次

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} *

2021-04-09 14:38:50 140

原创 leetcode 153、154. 寻找旋转排序数组中的最小值【二分查找:利用有序的一半缩小范围】

思路和leetcode 33. 搜索旋转排序数组一样class Solution {public: int findMin(vector<int>& a) { int n = a.size(); int l =0; int r = n-1; int ret = INT_MAX; while(l<=r){ int m = (l+r)>>1;

2021-04-09 14:25:34 141

原创 leetcode 33. 搜索旋转排序数组【二分查找:利用有序的一边缩小范围】

我们还是想向之前那样查找,因为只翻折了一次如果a[l] < a[m],那么[l,m]就是有序的如果啊a[m] < a[r] 那么[m,r]就是有序的每次缩小完二分的区间 取一个mid,总有一半是有序的,这样就可以判断taget在不在有序的区间里面,从而缩小一半空间class Solution {public: int search(vector<int>& a, int t) { int n = a.size(); ..

2021-04-07 16:13:46 95

原创 leetcode 1342. 将数字变成 0 的操作次数

题解class Solution {public: int numberOfSteps(int n) { int ret = 0; while(n){ if(n&1){ ret++; } ret++; n>>=1; } return max(0,ret-1); }};.

2021-04-07 14:18:06 99

原创 Leetcode 877. 石子游戏【dp | 数学证明】

class Solution {public: bool stoneGame(vector<int>& p) { //return true; int n = p.size(); vector< vector<bool> >dp(n,vector<bool>(n)); for(int i=0;i<n;i++){ dp[i][i] =

2021-04-07 14:03:32 157

原创 leetcode 589. N 叉树的前序遍历【非递归】

#define debug(x) cout<<#x<<": "<<(x)<<endl;class Solution {public: vector<int> preorder(Node* r) { stack<Node*>st; vector<int>ret; if(r != nullptr){ st.push(r); }

2021-04-06 20:23:12 126

原创 leetcode 440. 字典序的第K小数字【字典树】

题解参考注意会数据溢出,特判或者采用long long#define debug(x) cout<<#x<<": "<<(x)<<endl;using ll = long long;class Solution {public: int findKthNumber(ll n, ll k) { auto findp = [&]( ll p){ ll ne = p+1; l

2021-04-06 20:05:35 133

原创 Linux 源码在线阅读

https://elixir.bootlin.com/linux/latest/source理解静态函数调用过程自行编译内核内核加载到Qemu,动态debug从开机到加载出shell的过程加强理解

2021-04-06 15:15:38 386

原创 leetcode 1402. 做菜顺序【贪心】

从大到小排序如 5 0 -1 -8 -912 13 2 14 3 2 15 4 3 2 1每次在之前的基础上把前i个累加和加一遍然后加上第i个遍历所有取最大即可class Solution {public: int maxSatisfaction(vector<int>& s) { int n = s.size(); auto cmp = [&](int a,int b){ r

2021-04-05 21:42:47 165

原创 面试题 16.26. 计算器【双栈 vs 直接求值】

双栈法#define debug(x) cout<<#x<<": "<<(x)<<endl;class Solution {public: int calculate(string s) { int i=0; int len = s.size(); auto isop = [&](char c){ if(c == '+' ||c

2021-04-05 21:01:58 90

原创 leetcode 316. 去除重复字母【单调栈 官方题解补充:为何要判断栈中是否有当前元素】

class Solution {public: string removeDuplicateLetters(string s) { vector<int> last(26,0); for(int i=0;i<s.size();i++){ last[s[i]-'a'] = i; } stack<char>st; string ret = "";

2021-04-05 15:33:14 164

原创 LeetCode 450. 删除二叉搜索树中的节点【非递归 & 直接修改指针不修改val】

如果是的节点p叶子直接删除,如果不是叶子把右子树挂在左子树最右边孩子的右边或者把左子树挂在右子树最左边的孩子的左边然后用p父亲per,p可能是父亲per的左孩子或者有孩子重新指向p的两个孩子重新构造的那个子树即可把p删除掉https://leetcode-cn.com/problems/delete-node-in-a-bst/solution/shan-chu-er-cha-sou-suo-shu-zhong-de-jie-dian-by-l/官方题解修改了节点的val值,但是操作简单.

2021-04-04 22:02:49 91

原创 leetcode 330. 按要求补齐数组 【贪心构造】

思路参考:https://leetcode-cn.com/problems/patching-array/solution/an-yao-qiu-bu-qi-shu-zu-tan-xin-suan-fa-b4bwr/当前集合可以覆盖[1,b],在当前集合上增加一个数字,使得这个区间可以覆盖到的数组最多,并且保证区间没有产生空隙#define debug(x) cout<<#x<<": "<<(x)<<endl;using ll = long lon

2021-04-02 22:37:47 147

原创 【学术会议笔记】EDA Workshop 2021 AI辅助EDA算法

https://mp.weixin.qq.com/s/ZQtf9w735LkZ4qgj4-ygtg

2021-04-02 15:54:08 512

原创 git常见命令

回到上一次commit之前的状态git checkout -- 文件名

2021-04-02 14:52:00 82

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除