摘要:反转括号中的字符串 题目描述 反转括号中的字符串,并返回没有括号的结果值。 题解 #include <iostream> #include <stack> using namespace std; string helper(const string& s) { stack<string> strs
阅读全文
摘要:丢弃奇数位置上的元素 题目描述 给定 [1, n] 上的连续数字,每次去掉奇数位置上的数,当最后只剩一个数字时,这个数字是多少。 题解 如图所示: 将每个数字转换成二进制表示,可以发现,在第 i 轮删掉的数字,都是在二进制表示中从右->左,第 i 个位置为 1 的数字。因此,留下来的数字,肯定是从左
阅读全文
摘要:leetcode 1206 设计跳表 题目 代码 class Skiplist { #define MAX_LEVEL 8 public: struct SkipNode { int value_; std::vector<std::shared_ptr<SkipNode>> next_; Skip
阅读全文
摘要:leetcode 261 以图判树 题目 并查集 模板 class UF { public: UF(int size) { father.resize(size); for (int i = 0; i < size; ++i) { father[i] = i; } } int find (int x
阅读全文
摘要:CodeWars Python Question ExesOhs #https://www.codewars.com/kata/55908aad6620c066bc00002a def xo(s): xlst = [x for x in s if x.lower() == 'x'] olst = [
阅读全文
摘要:CodeWars Shell Question Clock #https://www.codewars.com/kata/55f9bca8ecaa9eac7100004a h=
1m=2 s=
3echo"((h*60+
m)∗60+s)*1000" | bc EvenOrOdd #ht
阅读全文
摘要:leetcode 706. 设计哈希映射 实现一个 hashmap 题目描述: 不使用任何内建的哈希表库设计一个哈希映射(HashMap)。 实现 MyHashMap 类: MyHashMap() 用空映射初始化对象 void put(int key, int value) 向 HashMap 插入
阅读全文
摘要:快速排序 快速排序的划分函数 first element 划分 int Partition(std::vector<int> &data, int left, int right) { int ret = left; int pivot = data[left]; while (left < rig
阅读全文
摘要:堆排序 堆排序其实是选择排序的优化变种,选择排序是把最大或最小的元素放到最边上,然后不断重复以上过程。 堆排序也是如此,只不过堆排序通过构建数据结构,让查找最大或最小元素并放到最边上的速度比选择排序快得多。 以数组表示完全二叉树 对于一个完全二叉树,我们可以使用数组来进行存储。 使用数组来存储完全二
阅读全文