- 博客(20)
- 收藏
- 关注
原创 windows核心编程 1.用户模式同步
8.1 原子访问:Interlocked系列函数 机器上装配cpu的数量,也会影响到多线程访问某全局变量使其自增的结果。当然操作系统会提供一系列函数来保持结果的一致性。 我们必须确保传给这些函般的变革t地址是经过对齐的,否则这些函数可能会失败。 在实现旋转锁(spinlock)的时候 , lnterlockedExchang...
2021-08-23 23:13:47 67
原创 git分支协作
分支协作:git config --add remote.origin.fetch +refs/heads/personal/owner/*:refs/remotes/origin/personal/owner/*git fetchgb -r | grep zguozhi新建个人分支:git checkout -b personal/zwuxzey/dra_3-6Tone_reducetone...
2021-08-23 23:12:30 457
原创 32. Longest Valid Parentheses
###解题思路暴力枚举###代码```cppclassSolution{public:intlongestValidParentheses(strings){intmaxlength=0;for(inti=0;i<s.size();i++){for...
2021-08-23 23:11:06 82
原创 栈、队列、优先队列 - 归档
栈、队列、优先队列概述名词性质20. Valid Parentheses*20. Valid Parentheses栈的初级使用hash表用作括号对的匹配class Solution {public: bool isValid(string s) { if(s.empty()) return true; map<char,char> cMap{{')', '('}, { ']', '['}, {
2021-08-23 23:09:48 129
原创 关于字符串的一些操作
正则表达式常用方法类型判断截取移动word.substr(n, word.length()) << word.substr(0, n);统计
2021-08-23 23:09:21 46
原创 git常用操作
Git用户配置:$ git config user.name "Jerry"$ git config user.email 408045698@qq.com$ git config --list查看配置keygen:注意配置的邮箱必须与的邮箱相同!ssh-keygen -t rsa -C "408045698@qq.com"repo创建:1,选择一个合适的地方,创建一个空目录:$ mkdir m...
2021-08-23 16:00:34 82
原创 动态规划 - 归档
换钱的最少货币数(完全背包)动态规划:#include<iostream>#include<string>#include<vector>#include<algorithm>#define MAXVALUE 0x7fffffffusing namespace std;int main() { int n; int aim; ...
2020-06-30 21:00:14 220
原创 二叉树 - 归档
LeetCode - 二叉树和递归概述名词性质111. Minimum Depth of Binary Tree*226. Invert Binary Tree**100. Same Tree101. Symmetric Tree222. Count Complete Tree Nodes110. Invert Binary Tree111. Minimum Depth of Binary Tree递归解法class Solution {public:
2020-06-15 21:28:31 46
原创 回溯和递归 - 归档
LeetCode - 回溯和递归概述方式性质递归自顶向下,对于有重叠子问题的递归,可以使用记忆化搜索。回溯递归返回上一层的过程,暴力解法的主要实现手段。与之对应的是多重循环(每层遍历数量固定的话)。另外回溯可以通过剪枝来优化,不用到达所有的叶子节点。树形递归17. Letter Combinations of a Phone Number93. Rest...
2020-06-02 21:46:53 244
原创 32. Longest Valid Parentheses
解题思路暴力枚举代码class Solution {public: int longestValidParentheses(string s) { int maxlength = 0; for(int i = 0; i < s.size(); i++){ for(int j = i + 1; j < s.size(...
2020-04-16 16:35:07 58
原创 关于c++ 11语言特性相关笔记
auto1、自动类型推导:auto i = 5;在泛型类型变量定义的时候,冗长的类型名称就可以使用auto来替代了,确实省事了不少:#include <iostream>#include <unordered_map>int main (){ std::unordered_map<std::string,std::string> mymap; f...
2018-06-12 23:34:15 49
原创 c++从入门到放弃(线程基础)
#include <list>#include <mutex>#include <algorithm>#include <iostream>std::list<int> ilist;std::mutex imutex;void list_operation(int value){ std::lock_guard&l...
2018-06-07 08:50:41 57
原创 针对于vscode cpp mingw 环境的配置文件
其实感觉vscode用于cpp环境不是很方便,比如昨天配置环境就搞了半天时间。针对于cpp的配置项。三个文件:c_cpp_properties.json:{ "configurations": [ { "name": "Win32", "browse": { "path": [ ...
2018-06-03 11:08:28 68
原创 优先队列与堆排序
概述我所知道的,广义的队列有三种:stack栈是一种,queue队列是一种,还有一种比较特殊,priorityqueue优先队列为什么特殊,因为前面两种队列,往队列push元素的时候,push过程就是很简单的把元素放在头部或者尾部就行了,pop的时候也是简单的取出头尾数据。而优先队列更加“智能化”,你把数据push进队尾的时候,push过程要在内部把数据进行整理,使队首元素总保持
2017-12-02 14:06:06 90
原创 从快速排序开始
打算重新学习下算法,顺便把相关的东西整理到自己博客上,博客一搜重复的内容一大片,不论是正确还是错误的都带着很多主观看法,所以写这个不是为了成为参考资料,只为整理下自己的思路、备忘,如果被网路上的同学们检索到,希望大家能够自己甄别其中好坏,有问题的地方,也希望能够提出来大家共同学习。这里从快速排序和归并排序开始,因为对于新入行的同学来讲,这两个排序是理解递归的一个很好的切入点。直接进
2017-11-13 22:11:15 116
原创 43.Multiply Strings 大数相乘
如果这道题不给接口参数,思考应该会更加困难,从应试的角度,我们看到string multiply(string num1, string num2)这样的参数,就知道了肯定是需要用字符串输出来代表输出的大数了。string multiply(string num1, string num2) { string rnum1 = num1; string rnum2 = num2; vect
2017-10-18 22:24:05 113
原创 Min Stack 最小栈
看到这个最小堆的解题思路,这里自己练习着实现下细节。class MinStack {public: /** initialize your data structure here. */ MinStack() { curIdx = -1;//初始化arr栈顶索引 curMin = -1;//初始aux栈顶索引 maxCap = 10; arr = new int[
2017-09-17 17:12:50 165
原创 Reverse Linked List II
需要虚拟个头结点dummy,整个链表分为三个部分,如下图步骤所示:class Solution {public: ListNode* reverseList(ListNode* head, int SubLength,ListNode*& pThirdHead) { ListNode* pre = NULL; ListNode* cur = head;
2017-08-25 01:26:20 117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人