摘要:插入排序的原理很简单:斗地主理牌的时候怎么操作就怎么操作。 (0922)补充:要是想要记忆住插入排序 首先得联想到将牌抽出来移到上方,然后空出一张牌位的画面,然后进行比较和插入。 最简易版代码实现: #include <bits/stdc++.h> void insert_sort(vector<i
阅读全文
随笔分类 - 算法
摘要:cvte笔试遇到了该题型,特此学习。 首先,最小生成树是与图、图论相关的概念 花时间看b站的视频: [算法训练营-最小生成树]: 最小生成树: 简单来说最小生成树就是用最少的代价使得一个图连通。
阅读全文
摘要:参考网址:[]:https://leetcode.cn/circle/discuss/NpDHDB/
阅读全文
摘要:第一题:删除数位求是否能整除 题目大意:有a和b两个整数,每次操作都可以对a和b删除一位,比如a=‘1234’一次操作可以变为‘123’,‘124’,‘134’,‘123’,操作N次后,a可以被b整除或者b可以被a整除,求最少操作次数 示例:a=1234 b=99,输出:2 理由:a变为234,b变
阅读全文
摘要:字符串 双指针的一道简单题 不过过程中遇到小问题 本题与力扣1768的交替合并字符串一样 算法不提 主要是ACM模式下的输入输出问题: 我写的是 int in = 0; cin >> in; string a,b; cin.ignore(); getline(cin,a); getline(cin,
阅读全文
摘要:主要参考:牛客上分享的帖子以及力扣第72题编辑距离的题解 首先用动态规划做是最合适的 阶段:对A操作i次,对B操作j次 确定dp数组的含义:从数组A【0-i】到与数组B【0-j】保持一致所需要的操作次数 dp[i][j] 初始化: dp[i][0] : 从数组A【0-i】到与数组B【0】保持一致所需
阅读全文
摘要:二分查找的难度不低: 从定义上来看: 为什么需要二分查找 大神总结:[]:https://leetcode.cn/circle/article/xYBtLt/#%E8%BF%AD%E4%BB%A3%E7%89%88%E6%A8%A1%E6%9D%BF
阅读全文
摘要:参考内容:力扣优质题解[]:https://leetcode.cn/problems/maximum-depth-of-binary-tree/solution/yi-tao-mo-ban-jie-jue-duo-ge-by-zhang-xi-yqep/ 无论如何,二叉树与动态规划思考时首要思路一致
阅读全文
摘要:堆排序代码: //头文件省略 函数:heapify 维护堆 void heapify(vector<int>& in, int bottom, int top) // bottom 其实是数组的size 即堆的底部。top 就是当前堆的顶部。 { int largest = top; //假设当前最
阅读全文
摘要:31. 在全局变量之前加上static关键字有什么作用? 全局变量会带来命名污染,他的作用域为整个工程的所有文件 但这影响了单个源文件的独立性 static关键字改变了全局变量的作用域,除了本文件之外,其他文件不可见 32. static 声明了之后的变量,外部文件可以用extern 关键字声明吗?
阅读全文
摘要:线性DP 线性DP:是动态规划问题中的一类问题,指状态之间有线性关系的动态规划问题。 可参考网址[知乎]:https://zhuanlan.zhihu.com/p/363918059 几道经典的启蒙题目: 1.爬楼梯 跳台阶 目前遇到的一些变式 a. 跳台阶不再限制只能跳1/2 而是可以直接跳N b
阅读全文
摘要:动态规划 动态规划是什么 动态规划:是一种最优化原理,把源问题分解为若干个子问题,自底向下逐步解决小问题 视频一: 暴力穷举,画出树图 记忆化搜索,查表剪枝 将递归改写成迭代 视频二: 讲解的比较系统完善: 首先解决什么问题能够让我们去使用动态规划来完成最优解 那些问题可以用动态规划 满足以下三个条
阅读全文