07 2015 档案
摘要:我的思路很简单,就是这样:bool check(int n){ while (n != 2) { if (n % 2 != 0) { return false; } n /= 2; } return true;}boo...
阅读全文
摘要:这个其实并不难,只是前期有点恶心,因为可能两边都没小数点,又可能只有一边有小数点,还有可能两边都有,真尼玛麻烦死了。我的策略很简单,先是根据传入的 string 把它按照小数点用递归的方法分割成若干段,存入容器中,再用迭代的方法比较两个容器就行了。那么怎么处理有时可能没有小数点的情况呢?我的解决办法...
阅读全文
摘要:要判断是否是回文链表这本身不难,难就难在对那两个复杂度的要求太恶心了。我一开始的想法是先找出链表的中点,再向两边遍历,以右结点为空作为循环结束的条件。感觉挺好哈,可是这特么是单向链表。然后我琢磨像 12321 这样的有一个特点,就是 1 + 3 = 2 + 2 = 3 + 1 觉得我特么简直就是天才...
阅读全文
摘要:这道题一开始我有点迷,有点搞不清平衡树的意思,虽然查了百度百科,但还是觉得不是十分的透彻,这让我耽误了许多时间。后来在看了一些博客后,我突然醒悟,什么是平衡二叉树?就是头结点的两个子树是平衡二叉树,且两个子树高度不超过 1。这句话就是一个递归。定义平衡二叉树已经确定可以用递归来处理,那么高度怎么求呢...
阅读全文
摘要:这个问题对我而言,难点就是当我用递归函数遍历各个结点时,不同子树的同一层结点怎样让他们保存在同一个容器里。保存在同一个容器里说明他们有共同的属性,没错,就是层数。而层数又相当于就是返回值的索引,那就简单了,就让他们存在索引相同的数组里。那么就又衍生了一个问题,就是保存在同一个索引的数组的前提是存在这...
阅读全文
摘要:这个问题的思路就是,通过后序遍历找到头结点,然后在中序遍历中划分子树, 再对子树执行相同的操作,直至子树为空。而我之前的方法是在细节上比较粗(wu)暴(nao) 因此效率过于低下。更详细的过程就是,根据后序遍历找到头结点,再在中序遍历中划分子树,而根据中序遍历中划分的子树大小,又可以作为偏移量来对后...
阅读全文
摘要:long long unsigned factorial(long long unsigned num){ return num factorial; factorial = [&factorial](decltype(num) n){return n < 2LL? 1LL : (fa...
阅读全文
摘要:size_t fuck(size_t n){ double index = 1.0; size_t result = 0; while (true) { auto count = n / static_cast(pow(5.0, index)); if(...
阅读全文
摘要:bool isWeNeeded(size_t i){ auto str = to_string(i); size_t count = 0; for(const auto &ch : str){ count += static_cast(ch) % 2; } return (count...
阅读全文
摘要:void guessNumber(){ uniform_int_distribution creator1To100(1, 100); default_random_engine engin; auto answer = creator1To100(engin); un...
阅读全文
摘要:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x...
阅读全文
摘要:写 C++ 的时候,如果前端是 Clang 那么当你定义静态全局变量时, 就可能会出现一个警告, 叫做 “exit-time destructor”。作为一个习惯把警告当作错误看的骚年, 我果断去查了为什么会这样,而结果是这样的:全局的静态变量会在程序退出后调用它的 destructor。为啥要在程...
阅读全文
摘要:是在贴吧看到的一个问题,代码如下,一如既往void foo (in{ auto str = to_string (i); cout >matchLines (map> content, string keyWord){ vector> result; bool matchTh...
阅读全文
摘要:之前在 C++ 吧里看到一个问题, 说是一个文本查询的小程序, 我在其中需要先输入一段文字, 再输入关键词来查找。前面输入之后我按下 Ctrl+Z 准备输入关键字。 结果怎么? 直接结束了!蛋疼。后来看了一些博客, 里面都提到了这个问题, 解决方法是加上这么一句:cin.clear();我在我的 V...
阅读全文
摘要:__FILE__ 宏在预编译时会替换成当前的源文件名__LINE__ 宏在预编译时会替换成当前的行号__FUNCTION__ 宏在预编译时会替换成当前的函数名称
阅读全文