自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Item Review

①2.CC23.气缸4.Bingding5.BT09。

2023-09-27 22:08:34 50

原创 Recent problem

一些记录

2023-09-27 22:06:25 69

原创 [转载]Task和async/await详解

Task和async/await详解 - 左正 - 博客园 (cnblogs.com)

2023-09-23 21:00:45 47

原创 [转载]C#倒序遍历原因

用List存放事件监听者,同时监听对象如果存在响应事件后删除自身(移除出列表)的监听者,就表示在列表的遍历过程中,列表的长度和索引会发生改变。使用for循环并正序遍历:遍历第i个监听者A时,若A将自己从List中移除,这时列表会前移,继续遍历i+1,实际遍历到的是i+2。作者:幕云汨水 https://www.bilibili.com/read/cv20318056 出处:bilibili。使用倒序遍历就不会有这个问题,即使发生移除,移除对象也总是在List的尾部,索引能确保索引到每一个对象。

2023-08-17 21:52:10 334

原创 数据结构补充

70:用队列实现栈:622:设计循环队列class MyCircularQueue { final int[] array; // 用于模拟队列的数组 final int maxSize; // 数组的最大长度 int front; // 指向队首元素 int rear; // 指向队尾元素 public MyCircularQueue(int k) { this.array = new int[k];

2021-11-12 13:22:22 4171

原创 算法学习Day17-Leecode322,1217,55&&509,62&&720-【算法】【贪心】【动态规划】【前缀树】

322. 零钱兑换

2021-08-30 09:49:56 125

原创 算法学习Day16-Leecode200,547【算法】【并查集】

200.岛屿数量:看蒙了class UnionFind {public: UnionFind(vector<vector<char>>& grid) { count = 0; int m = grid.size(); int n = grid[0].size(); for (int i = 0; i < m; ++i) { for (int j = 0; j <

2021-08-26 10:59:07 74

原创 算法学习Day15-Leecode102,107【算法】【BFS】

在leecode上看见了一个积累模板的思想:负雪明烛,这位大佬的文章:BFS使用队列,把每个还没有搜索到的点依次放入队列,然后再弹出队列的头部元素当做当前遍历点。BFS总共有两个模板:如果不需要确定当前遍历到了哪一层,BFS模板如下。while queue 不空: cur = queue.pop() for 节点 in cur的所有相邻节点: if 该节点有效且未访问过: queue.push(该节点)如果要确定当前遍历到了哪一层,B...

2021-08-25 08:36:08 109

原创 算法学习Day14-Leecode22,78【算法】【DFS】

应用:二叉树,图的搜索

2021-08-21 14:40:21 111

原创 算法学习Day13-Leecode22,78,77【算法】【回溯法】

22. 括号生成class Solution { void backtrack(vector<string>& ans, string& cur, int open, int close, int n) { if (cur.size() == n * 2) { ans.push_back(cur); return; } if (open < n) {

2021-08-19 12:45:20 99

原创 算法学习Day12-Leecode169,53【算法】【分治法】

169. 多数元素class Solution { int range(vector<int>& nums, int target, int lo, int hi){ int count = 0; for(int i=lo; i<=hi; i++){ if(nums[i] == target) count++; } return count; }

2021-08-18 19:26:22 82

原创 算法学习Day11-Leecode509,206【算法】【递归】

509. 斐波那契数class Solution {public: int fib(int n) { if (n == 0) return 0; if (n == 1) return 1; return fib(n - 1) + fib(n - 2); }};func fib(n int) int { if n < 2 { return n } p, q, r := 0, 0, 1

2021-08-17 09:53:57 89

原创 算法学习Day10-Leecode209,1456【算法】【滑动窗口】

209. 长度最小的子数组func minSubArrayLen(s int, nums []int) int { n := len(nums) if n == 0 { return 0 } ans := math.MaxInt32 start, end := 0, 0 sum := 0 for end < n { sum += nums[end] for sum >= s {

2021-08-15 16:22:36 84

原创 算法学习Day9-Leecode704,35,162,74【算法】【二分查找】

704. 二分查找class Solution {public: int search(vector<int>& nums, int target) { int pivot,left = 0 , right = nums.size()-1; while(left<=right){ pivot = left+(right-left)/2; if(nums[pivot]==target){

2021-08-14 10:30:50 119

原创 算法学习Day8-Leecode141,881【算法】【双指针】

1

2021-08-12 14:45:16 122

原创 算法学习Day7-Leecode215,692【数据结构】【堆】

215. 数组中的第K个最大元素不整花里胡哨的,直接上c++自带的堆数据结构class Solution {public: int findKthLargest(vector<int>& nums, int k) { // 小顶堆 priority_queue<int, vector<int>, greater<int>> pq; int sz = nums.size();

2021-07-21 09:19:25 77

原创 算法学习Day6-Leecode144,94,145【数据结构】【树】

144. 二叉树的前序遍历1.递归:class Solution {public: void preorder(TreeNode *root, vector<int> &res) { if (root == nullptr) { return; } res.push_back(root->val); preorder(root->left, res); ..

2021-07-08 09:09:19 71

原创 算法学习Day5-Leecode217,389,496-【数据结构】【哈希表】

217:存在重复元素class Solution {public: bool containsDuplicate(vector<int>& nums) { unordered_set<int> s; for(int x:nums){ if(s.find(x)!=s.end()){ return true; } s.insert(x.

2021-07-07 07:58:35 290

原创 算法学习Day4-Leecode20,496-【数据结构】【栈】

20. 有效的括号class Solution { public: bool isValid(string s) { int n = s.size(); if(n%2 == 1){ return false; } unordered_map<char,char> pairs = { {')', '('}, {']', '['}, .

2021-07-04 19:48:30 132

原创 算法学习Day3-Leecode933,239-【数据结构】【队列】

933:class RecentCounter {private: // 用于存放结果的队列 queue<int> q;public: RecentCounter() {} int ping(int t) { // 首先把要添加的时间放进来 q.push(t); // 不断检查队列头部元素,看看它与当前时间之差是否大于3000 while (t - q.front() > 3000)

2021-06-30 19:30:09 71

原创 算法学习Day2-Leecode203,206-【数据结构】【链表】

203:给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val == val的节点,并返回新的头节点。class Solution {public: ListNode* removeElements(ListNode* head, int val) { if(head == nullptr){ return head; } head->next = removeEle...

2021-06-29 18:23:40 91

原创 算法学习Day1-Leecode485,283,27-【数据结构】【数组】

研一下学期才开始刷题,着实有些晚了,作为一个非科班生,更要好好学习算法这些基础。希望机械专业对我的工程思维的培养,能够在算法学习中发挥作用。485:给定一个二进制数组, 计算其中最大连续 1 的个数。示例:输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.C++语言实现:class Solution {public: int findMaxConsecutiveOnes(vector...

2021-06-27 22:19:55 225 1

空空如也

空空如也

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

TA关注的人

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