摘要:
71. 简化路径 唯一的坑点,"/..."这个示例,"..."是目录名 class Solution { public: string simplifyPath(string path) { deque<string> DQ; istringstream iss(path); string word 阅读全文
摘要:
206. 反转链表 递归 class Solution { public: ListNode* reverseList(ListNode* head) { if(head == nullptr || head->next == nullptr) return head; ListNode* next 阅读全文
摘要:
2. 两数相加 这题medium,但思路挺简单的。模拟下就可以 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), 阅读全文
摘要:
46. 全排列 排列,用回溯法 class Solution { public: vector<vector<int>> permute(vector<int>& nums) { vector<vector<int>> permutation; vector<bool> visited(nums.s 阅读全文
摘要:
17. 电话号码的字母组合 排列题目,很容易想到回溯。下面是ac代码。 class Solution { private: vector<string> vstrs = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; public 阅读全文
摘要:
C++17 Fold Expressions 本文介绍C++17新特性折叠表达式。文章示例代码通过MinGW编译,宏__cplusplus=201703 下面我们从一个模板函数sum开始,介绍折叠表达式。 用折叠表达式简化以前的代码 C++11引入了变长参数模板,我们想求变长参数的和,可以这样写模板 阅读全文
摘要:
Github Pages博客备份:pusidun's blog Gitee Pages博客备份:pusidun's blog 源码阅读 Redis Redis源码阅读一:简单动态字符串SDS Redis源码阅读二:跳跃表skiplist 读书笔记 奔跑吧Linux内核--ch4并发与同步 C++ C 阅读全文
摘要:
简介 本文介绍下golang的基本数据结构切片的代码实现。源码基于go1.14.2 给个不严谨的定义,go的切片是一种"动态数组的引用",与C++的vector类型类似,都是线性结构,都有内存分配,都有扩容操作。 TODO文末会附上一个C实现的Slice,供C背景的读者参考 slice定义 代码位于 阅读全文
摘要:
引言 本文探究在gcc5.4.0中,shared_ptr引用计数的实现 相关源码: 来源:Ubuntu 16 路径:/usr/include/c++/5.4.0/bits 文件:shared_ptr_atomic.h shared_ptr_base.h shared_ptr.h shared_ptr 阅读全文
摘要:
题目 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 解法 阅读全文