![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题算法整理
文章平均质量分 59
之前leetcode刷题的部分整理
crasyter
这个作者很懒,什么都没留下…
展开
-
C++小知识(数组)
1、初始化在C/C++中,可以在数组定义的时候对其进行初始化:int a1[3] = {1, 2, 3}; int a2[3] = {0}; //将数组a2各个元素赋值为0。 int a3[] = {1, 2, 3}; char s1[3] = {'a', 'b', 'c'}; char s2[] = "abc"; 2、数组赋值int arr[3];arr = {10,16,8};编译时报错:assigning to an array f原创 2020-11-15 21:25:47 · 902 阅读 · 0 评论 -
刷题小问题
在刷算法题的过程中遇到的一些小问题,做一下记录1、vector在VS调试时,vector的正确赋值方法:using std::vector;using namespace std; //头文件需要加入vector strs = { “flou”, “flow”, “flpo” };//用逗号分隔...原创 2021-01-27 10:16:04 · 429 阅读 · 0 评论 -
leetcode二叉树整理
**617题:合并二叉树**使用递归解题,前序遍历,注意写清楚函数!!!原创 2021-03-12 10:53:26 · 124 阅读 · 0 评论 -
剑指offer
64题:1+2+…+n思路一:使用空间class Solution {public:int sumNums(int n) {bool a[n][n+1];return sizeof(a)>>1;}};思路2:使用递归10题:正则表达式匹配使用动态规划,理解为搜索题,动态规划就是记录了搜索结果避免重复搜索...原创 2021-03-12 15:53:11 · 94 阅读 · 0 评论 -
LeetCode贪心算法
1、将问题分解为若干个子问题2、找出适合的贪心策略3、求解每一个子问题的最优解4、将局部最优解堆叠成全局最优解455题:分发饼干局部最优解:大饼干先喂给大孩子!!class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { if(s.size()==0) return 0; sort(g.begin(),g.en原创 2021-03-12 22:59:46 · 78 阅读 · 0 评论 -
leetcode动态规划
343:整数拆分动态规划,注意!!!一定要观察,dp[i]是对i进行拆分的最大乘积,找到对应的递推关系class Solution {public: int integerBreak(int n) { vector<int> dp(n+1); dp[2]=1; for(int i=3;i<=n;i++){ for(int j=1;j<i-1;j++){ dp[i]=原创 2021-03-17 22:05:32 · 83 阅读 · 0 评论 -
leetcode回溯算法
77:组合问题使用for循环,同时使用回溯。n相当于数的宽度,k相当于树的深度。for使用广度优先,k遍历深度。一定要理解清楚!index是每一次开始遍历的地方,但是后续主要是i开始加class Solution {public: vector<vector<int>> result; vector<int> path; void travel(int n,int k,int index){ if(path.size()==原创 2021-03-13 23:30:03 · 310 阅读 · 0 评论 -
优先队列priority_queue
优先队列使用堆实现的,堆其实就是一个完全二叉树定义:priority_queue<Type, Container, Functional>Type 就是数据类型,Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector),Functional 就是比较的方式。当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆。//升序队列,小顶堆原创 2021-03-27 16:08:36 · 101 阅读 · 0 评论 -
二刷leetcode200题回顾
1、两数之和使用unoredred_map进行存储,注意!map的申请形式是<int,int>class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int n=nums.size(); unordered_map<int,int> map1; for(int i=0;i<n;i++){原创 2021-03-14 11:34:01 · 515 阅读 · 0 评论