算法
JinLn_
这个作者很懒,什么都没留下…
展开
-
构建二叉树C++
#include<iostream>#include <vector>using namespace std;struct Node { int val; Node* left; Node* right; Node() {} Node(int val_):val(val_) {} Node(int val_, Node* left_, Node* right_) :val(val_), left(left_), right(right){}};//层序数组原创 2021-09-24 13:03:29 · 221 阅读 · 0 评论 -
顺时针打印矩阵
#include <iostream>#include <vector>using namespace std;void printMatrix(vector<vector<int> > m) { if (m.empty()) return; int rows = m.size(); int cols = m[0].size(); // 四个角落 int left = 0; int right = cols - 1; int top =原创 2021-09-22 21:00:28 · 62 阅读 · 0 评论 -
最近最少使用算法LRU
#include <iostream>#include <unordered_map>using namespace std;// 双向链表节点struct DLinkedNode { int key, val; DLinkedNode* pre; DLinkedNode* next; DLinkedNode() : key(0), val(0), pre(nullptr), next(nullptr) {} DLinkedNode(int _key,int _原创 2021-09-22 19:24:28 · 144 阅读 · 0 评论 -
重排链表.
leetCode 143#include<iostream>#include<vector>using namespace std;struct Lis { int val; Lis* next; Lis() :val(0), next(nullptr) {} Lis(int x) :val(x), next(nullptr) {} Lis(int x, Lis* next) :val(x), next(next) {}};vo原创 2021-09-11 20:45:31 · 79 阅读 · 0 评论 -
m个数的全排列、// n个数取m个数出来
#include <iostream>#include <string>#include <vector>#include <algorithm>#include <stack>using namespace std;//m个数的全排列void AllRange(vector<int>& nums, vector<vector<int>>& sub, int k, int m) {原创 2021-08-25 15:36:39 · 188 阅读 · 0 评论 -
KMP算法
#include<iostream>#include<vector>#include<string>using namespace std;// 最大相等前后缀int preh(string s) { int n = s.size(); int j = n-1; while (j) { if (s.substr(0, j) == s.substr(n - j , j)) { break; } else { j--; } }原创 2021-08-25 15:34:33 · 96 阅读 · 0 评论