随笔分类 - 

摘要:leect 78 子集 代码 //自己的弱鸡代码 class Solution { private: vector<vector<int>> result; vector<int> ans; void backtracking(int num, int h, vector<int>& nums, i 阅读全文
posted @ 2023-03-13 09:36 壹剑霜寒十四州 阅读(14) 评论(0) 推荐(0) 编辑
摘要:lc 2379 得到k个黑色快的最少operate 说实话,滑动窗口还是见少了,知道有这个东西,一直没总结,刚看到题,自己还是很懵逼的,以为是dp,但是是简单题,都说用滑动窗口做,才有思路 大概思路如下图,滑动窗口每次都是双指针,来固定大小,当left++时right也++,使得窗口大小保持固定 直 阅读全文
posted @ 2023-03-09 09:15 壹剑霜寒十四州 阅读(32) 评论(0) 推荐(0) 编辑
摘要:机场 注意 在生成括号的过程,左括号要限制又括号数量 代码 class Solution { private: vector<string> result; string str; void backtracking(int n, int left, int right) { if (str.siz 阅读全文
posted @ 2023-03-07 09:26 壹剑霜寒十四州 阅读(14) 评论(0) 推荐(0) 编辑
摘要:leet 46 全排列 解题思路 还是全排列的板子题 Class Solution { private: vector<vector<int>> result; vector<int> ans; public: void backingtrack(...){ if (){ ... return; } 阅读全文
posted @ 2023-03-06 08:58 壹剑霜寒十四州 阅读(13) 评论(0) 推荐(0) 编辑
摘要:leetcode:链表相交 Method 判断链表相交否,先看两个链表的长度,使得长链表移动长度之差绝对值的长度,移动后的两个新链表长度一样,在判断两个节点是否地址相同 代码 /** * Definition for singly-linked list. * struct ListNode { * 阅读全文
posted @ 2023-02-25 10:28 壹剑霜寒十四州 阅读(8) 评论(0) 推荐(0) 编辑
摘要:思路 这道题如果是暴力,其实可以先反转,在删除,在反转,麻烦 Method 双指针: 思路: 建立一个头节点node,然后fast和slow指针都指向node,然后fast先跑n + 1距离, fast先走,就会与slow就会相隔多少距离,到最后fast走到nullptr,slow就是指向当前节点的 阅读全文
posted @ 2023-02-25 09:53 壹剑霜寒十四州 阅读(10) 评论(0) 推荐(0) 编辑
摘要:旋转方法 例子 对于顺时针旋转90度 先上线对称选择,在主对角线交换 class Solution { public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); //上下颠倒 for(int i = 0;i<n 阅读全文
posted @ 2023-02-18 22:28 壹剑霜寒十四州 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题号:图的遍历 #include<iostream> #include<vector> using namespace std; const int maxn = 100010; vector<int> grap[maxn]; int A[maxn]={0}; void dfs(int x,int 阅读全文
posted @ 2022-12-02 09:23 壹剑霜寒十四州 阅读(16) 评论(0) 推荐(0) 编辑
摘要:洛谷4017最大食物链计数 代码 // https://www.luogu.com.cn/problem/P4017 #include<iostream> #include<vector> using namespace std; vector<int> map[5001]; int dp[5001 阅读全文
posted @ 2022-11-17 08:36 壹剑霜寒十四州 阅读(12) 评论(0) 推荐(0) 编辑
摘要:ACwing23 方法 dfs 开始以为是dijkstra没想到是dfs 学习 冲这个题中看出,dfs用的是标记,不一定是visited[],能标记,递归就行 代码 bool hasPath(vector<vector<char>>& matrix, string &str) { for(int i 阅读全文
posted @ 2022-11-15 08:38 壹剑霜寒十四州 阅读(13) 评论(0) 推荐(0) 编辑
摘要:洛谷1216 思路 求和最大,划分没子问题,求的每次子问题最大 代码 #include<iostream> #include<vector> using namespace std; const int N = 1010; int dp[N][N] = {0}; int arr[N][N]={0}; 阅读全文
posted @ 2022-11-15 08:05 壹剑霜寒十四州 阅读(9) 评论(0) 推荐(0) 编辑
摘要:题 思路 最开始用的dp做,但是发现只有10分 #include<iostream> using namespace std; string a,b; int main(){ cin>>a>>b; int dp[a.length()+1][b.length()+1]={0}; for(int i = 阅读全文
posted @ 2022-11-14 15:55 壹剑霜寒十四州 阅读(17) 评论(0) 推荐(0) 编辑
摘要:洛谷 8697 给你一个数组,求连续的数组最大值 方法dp 代码 #include<iostream> using namespace std; int main(){ int n ; cin>>n; int arr[n]; for(int i = 0;i<n;i++) cin>>arr[i]; i 阅读全文
posted @ 2022-11-14 15:06 壹剑霜寒十四州 阅读(13) 评论(0) 推荐(0) 编辑
摘要:洛谷1303 #include<iostream> using namespace std; const int N = 50000; int arr[2*N]; int aa[N]; int bb[N]; int main(){ string a,b; cin>>a>>b; for(int i = 阅读全文
posted @ 2022-11-14 12:25 壹剑霜寒十四州 阅读(11) 评论(0) 推荐(0) 编辑
摘要:A+B ` 考虑高精度 代码 #include<iostream> using namespace std; const int N = 510; int arr[N],aa[N],ab[N]; int main(){ string a,b; cin>>a; cin>>b; int sizea = 阅读全文
posted @ 2022-11-14 11:28 壹剑霜寒十四州 阅读(16) 评论(0) 推荐(0) 编辑
摘要:洛谷1923 错误 这道题用的快排,但是非常卡时间,最后将快排优化, 新学 stl中 nth_element(数组名,数组名+第k小元素,数组名+元素个数);将第k小元素找出,最后直接输出就行 //判断k所在的某一段位置 if(k<=y) qsort1(l,y); else if(x<=k) qso 阅读全文
posted @ 2022-11-11 14:55 壹剑霜寒十四州 阅读(26) 评论(0) 推荐(0) 编辑
摘要:14.不修改数组找出重复的数字 题 给定一个长度为 n+1 的数组nums,数组中所有的数均在 1∼n 的范围内,其中 n≥1。 请找出数组中任意一个重复的数,但不能修改输入的数组。 数据范围 1≤n≤1000 样例 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 阅读全文
posted @ 2022-11-10 21:41 壹剑霜寒十四州 阅读(19) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示