自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yxccc的博客

欢迎来到我的博客

  • 博客(73)
  • 收藏
  • 关注

原创 阿牛 - 陈奕迅

阿牛作词:林夕 作曲:雷颂德 演唱:陈奕迅 不能回头 多年前早名言 不能回头 可恨在 是我这一头蛮牛 多年来无法侍候 才和我分手 成婚之前一刻才赶到 难得你来通报才知道 往日共你追忆永远是后 怎能预计似这般难共你同携共老 你话只需肯做 差一刹与我拾回旧好 不甘心 尤其这新婚 就像玩牺牲 想抢过新娘 我差点讲真历史一刻早已将就伴侣转送别人 我说 别伤心 仍然恰当...

2018-08-24 21:15:28 803

原创 LeetCoden 62. Unique Paths

62. Unique Paths递归解法超时,需要用动态规划动态规划解法 int uniquePaths(int m, int n) { if (m <= 0 || n <= 0) { return -1; } vector<vector<int>> res...

2018-06-25 00:15:08 226

原创 LeetCode 55. Jump Game

55. Jump Game水平有限,这题没有意识到是贪心的题,用递归和动态规划分别写了一遍。前者报超时,后者报内存限制。正确代码 bool canJump(vector<int>& nums) { if (nums.empty()) { return false; } // tan...

2018-06-23 21:26:54 264

原创 LeetCode 31. Next Permutation

31. Next Permutation这题不会做。。。 找全排列的下一个序列 最笨的方法是把全排列求出来,然后排个序,再得出下一个全排列。 但是空间不允许。这题也提供了一个直接找全排列下一个序列的方法 1.从后往前遍历数组,找出非递增的那个下标x 2.如果找不到,就是全排列的第一个。 3.找到后,与A数替换 A数是指(x + 1)–>nums.end()这段下标中,比...

2018-06-11 21:09:46 159

原创 LeetCode 292. Nim Game

292. Nim Game感觉这题还是很有意义的。让我意识到,算法题,其实核心还是数学思想。 有时候做算法题,还需要有抽象能力,转化能力。解法理解: 题意理解到,只要最终剩下4个,而且轮到对面先抽的轮次,那么等对方抽完,自己再抽剩下的,就赢了。 所以只要第一次把4的余数数量石头抽走,接下来,对方无论抽几个,我们就补几个凑成4。这样就保证了在最终的轮次会剩下4个,而且是对方先抽。...

2018-06-11 16:13:05 140

原创 LeetCode 257. Binary Tree Paths

257. Binary Tree Paths1.这道题,一开始使用find_last_of的时候,想要匹配 ‘-‘,但是val可以是负数,所以匹配错误。 2.整型转化为字符串的方法:利用stringstreamstringstream ss;ss << root->val;string rval = ss.str();class BinaryTreePaths ...

2018-06-11 11:26:52 150

原创 LeetCode 290. Word Pattern

290. Word Patternclass WordPattern {public: bool wordPattern(string pattern, string str) { if (pattern.empty() && str.empty()) { return true; } ...

2018-06-11 10:32:07 149

原创 LeetCode 205. Isomorphic Strings

205. Isomorphic Strings题目要求的是双向关系,一开始理解错了class IsIsomorphic {public: bool isIsomorphic(string s, string t) { if (s.size() != t.size()) { return false; }...

2018-06-10 21:42:47 116

原创 LeetCode 204. Count Primes

204. Count Primes主要是判断整数是否为质数,判断有如下三种,效率依次提高 bool isPrimes(int n) { bool bIsPrimes = true; for (int i = 2; i <= n; i++) { if (n % i == 0) ...

2018-06-10 17:46:17 167

原创 LeetCode 190. Reverse Bits

190. Reverse Bits二进制操作,一直是自己比较薄弱的地方。 解法一:对每个二进制位进行操作class ReverseBits {public: uint32_t reverseBits(uint32_t n) { uint32_t movement = n; uint32_t res = 0; int mask ...

2018-06-10 17:10:42 143

原创 LeetCode 172. Factorial Trailing Zeroes

172. Factorial Trailing Zeroes主要看5的个数就可以了。class TrailingZeroes {public: int trailingZeroes(int n) { if (n < 5) { return 0; } int count = 0; ...

2018-06-10 11:50:16 116

原创 LeetCode 168. Excel Sheet Column Title

168. Excel Sheet Column Title这题。。做了好久。脑子没转过来 1.以为是27进制,不知道怎么想的。。。 2.进制从0开始和从1开始。。。class ConvertToTitle {public: string convertToTitle(int n) { if (n < 1) { ...

2018-06-10 11:02:58 102

原创 LeetCode 122. Best Time to Buy and Sell Stock II

122. Best Time to Buy and Sell Stock IIclass MaxProfit {public: int maxProfit(vector<int>& prices) { if (prices.empty()) { return 0; } in...

2018-06-07 19:27:17 121

原创 Leetcode 112. Path Sum

112. Path Sum1.有点回溯的感觉,试完左树试右树。 2.注意叶子节点的判断条件 3.root=NULL,sum=0时也要返回false。class HasPathSum {public: bool hasPathSum(TreeNode* root, int sum) { if (root == NULL) { ...

2018-06-07 17:38:39 117

原创 LeetCode 111. Minimum Depth of Binary Tree

111. Minimum Depth of Binary Tree1.条件不能是root == NULL,而是判断叶子结点的条件。class MinDepth {public: int minDepth(TreeNode* root) { if (root == NULL) { return 0; } ...

2018-06-07 17:11:44 148

原创 Leetcode 110. Balanced Binary Tree

110. Balanced Binary Tree1.返回bool是为了返回判断的结果,判断当前的结点是否平衡 2.depth是为了记录高度class IsBalanced {public: bool isBalanced(TreeNode* root) { if (root == NULL) { return true;...

2018-06-07 16:48:10 126

原创 LeetCode 107.Binary Tree Level Order Traversal ii

107.Binary Tree Level Order Traversal ii拆分任务: 1.层次遍历 2.翻转vectorclass LevelOrderBottom {public: vector<vector<int>> levelOrderBottom(TreeNode* root) { if (root == NULL) ...

2018-06-05 16:55:55 163

原创 Leetcode 67.AddBinary

67.AddBinary跟66.Plus One 差不多,我还是先把他翻转过来。 因为有可能两个字符串长度不一样。短的字符串如果超出长度,循环时一直加0就好了。class AddBinary {public: string addBinary(string a, string b) { reverse(a.begin(), a.end()); ...

2018-06-05 13:18:16 123

原创 Leetcode 66.Plus One

66.Plus One我采用的方法是先把整个vector翻转,再顺序加。最后再重新翻转回来。class PlusOne {public: vector<int> plusOne(vector<int>& digits) { vector<int> tmpDig = digits; reverse(tm...

2018-06-05 12:30:25 128

原创 Leetcode 38.Count and Say

38.Count and Say 这题理解了题意就会比较好做。 1 11 21 1211 111221 规定第一项是 1 2时,读第一项,就是 1个1 3时,读第二项,就是 2个1 4时,读第三项,就是 1个2,1个1 …要把相同数字的归纳为数量表示出来。class CountAndSay {public: string coun...

2018-06-05 12:08:49 117

原创 leetcode 35.Search Insert Position

考查二分查找class SearchInsert {public: int searchInsert(vector<int>& nums, int target) { if (nums.empty()) { return 0; } int nLeft = 0; ...

2018-06-05 11:39:55 81

原创 破相 - 容祖儿

破相作词:黄伟文 作曲:陈辉阳 演唱:容祖儿听笑话 尽量笑得不勉强 我望镜 愁云密布我面上 皱着眉 旁人问我何解这样 在这 愉快的现场 大概因我 从前撞向一道墙 种下了 难缝合 旧创伤 破相 原来是要来称呼这样 历史遗下的账 是我 顽强到已经 用尽余下血清 亦是时间认命 早知我 越活越冷清 就别望救星 投降前坐定越笑越见疤痕 留了提示谁是极不幸 已不记得哪些...

2018-05-22 20:01:09 447 1

原创 尘埃落定-张敬轩

尘埃落定作词:林夕 作曲:Christopher Chak 演唱:张敬轩如爱要老实为何自欺 如爱够伟大为何自卑 如自问未能容许抑郁不理 不要再说喜欢你 如你已应验甜蜜梦境 尘埃缥缈间早已落定 从出生当天角色早已礼成 只可合照缩影 维持着熟悉表情陌生关系不要变 只等到红包仪式一场偶遇才会面 现实前被逼安分才戒掉了闪索挂念 总算立地顶天无爱可失 得不到相恋别说失恋 ...

2018-05-17 11:49:00 961

原创 钟无艳 - 谢安琪

钟无艳作词:林夕 作曲:Christopher Chak 演唱:谢安琪其实我怕你总夸奖高估我坚韧 其实更怕你只懂得欣赏我品行 无人及我用字绝从拾了你信心 无人问我可甘心演这伟大 化身 其实我想间中崩溃脆弱如恋人 谁在你两臂中低得不需要身份 无奈被你识穿这个念头 得到好处的你明示不想失去绝世好友没有得你的允许 我都会爱下去 互相祝福心软之际或者准我吻下去 我痛恨成熟到...

2018-05-10 16:15:51 356

原创 放不低 - 郑秀文

放不低作词:李敏 作曲:冯颖琪 演唱:郑秀文是你故意欺骗 怪在我太过心软 你的真话就等于梦呓与谎言 无奈你说得太自然 让我听了也能热恋 甜言蜜语 原来又一次食言 是你对我改变 你别说世界转变 解释得混乱 千丝万端 太多纠缠 谁没兴致守这诺言 但却对我在存心诈骗 胡言乱语 任你讲足半天为什么永远放不低 为什么错爱这一位 但求仍能维系 不惜一切 我为你执迷 为何永远...

2018-05-10 15:52:16 303

原创 纸牌屋 - 容祖儿/李克勤

纸牌屋作词:黄伟文 作曲:Eric Kwok 演唱:容祖儿/李克勤残忍的 人生中 渴望有情人与共 可记得 找到他 你曾如何地放松 如今的 危机中 要是绵羊学懂珍惜那牧童 总能 包容 他掀起那份痛从前你俩为什么执手起誓 难捱的关口请你记住原委 努力保卫 同林鸟要是害怕半路坠毁 不只要分享所有美丽 爱美在一起堵上一切 然后回望这半生修到默契 忍心作废扬起的 尘土中 要...

2018-05-10 15:42:27 394

原创 离家出走-卫兰

离家出走作词:林夕 作曲:雷颂德 演唱:卫兰豁出去漫游 不通知亲友 这快感少有 哪管想去多久 抱得你未够 于这里闷透 才誓死跟你逛尽地球 何必每件壮举都需要理由 共你去出走 快活而内疚 不管举世追究 愿扣上你双手 自繁华浪处 到沙丘 恋爱 能有幸这样放肆 至足够别再管谁咒你 曾经荒谬 闯荡异地 亦未枉相恋 超出烦恼的禁忌 是世上人不理 想早晚能见你 曾经反叛...

2018-05-10 11:34:37 498

原创 年度之歌-谢安琪

年度之歌作词:黄伟文 作曲:Christopher Chak 演唱:谢安琪曾经攀上的天梯 曾经拥有的身体 曾经在乎一切 被突然摧毁 刹那比沙更细 良夜美景没原因出了轨 来让我知一切皆可放低 还是百载未逢的美丽 得到过又猝逝 也有一种智慧全年度有几多首歌 给天天地播 给你最愉快的消磨 流行是一首窝心的歌 突然间说过就过 谁曾是你这一首歌 你记不清楚 我看着你离座 ...

2018-05-10 11:20:38 231

原创 喜帖街-谢安琪

喜帖街词:黄伟文 曲:Eric Kwok 演唱:谢安琪忘掉中过的花 重新的出发 放弃理想吧 别再看 尘封的喜帖 你正在要搬家 筑得起 人应该接受 都有日倒下 其实没有一种安稳快乐 永远也不差就似这一区 曾经称得上 美满甲天下 但霎眼 全街的单位 快要住满乌鸦 好景不会每日常在 天梯不可只往上爬 爱的人没有一生一世吗 大概不需要害怕(忘掉爱过的他...

2018-05-10 10:41:58 216

原创 MAC OS 的mach_port_t和pthread_self()

MAC OS 三种 线程1.pthread_self() glibc库的线程id。实际上是线程控制块tcb首地址。2.gettid: 内核级线程id,系统唯一。 该函数为系统调用函数,glibc可能没有该函数声明。 此时需要使用 syscall(SYS_gettid);3.mach_port_t: mac os特有的id。实际上不能说是thread id,而应该当做是端口。 ...

2018-04-08 17:04:30 3759

原创 leetcode 29.Divide Two Integers

29.Divide Two Integers这道题慢慢减不行,需要位移运算实现循环一次减多个的效果。 下面代码有个坑是,当 count = 31时,1需要左移31次,编程INT_MIN。class Divide {public: int divide(int dividend, int divisor) { // x / % if (diviso...

2018-03-28 00:29:15 149

原创 leetcode 15. 三数之和

15. 三数之和方法网上有很多,这里主要分析一下用set排重的问题。 先说知识点: 1.set采用等价比较,而不是等值(Effective STL)。就是说不用operator==,只用operator<。 2.set只实现了内置类型的比较函数。 3.当set里面元素相等时,总是返回false。 4.set比较函数的实现方法如下struct A{ int a;}...

2018-03-25 23:09:51 718

原创 leetcode 11.盛最多水的容器

11. 盛最多水的容器双指针法,挺常用的,学习一下。class MaxArea {public: int maxArea(vector<int>& height) { if (height.size() < 2) { return 0; } int nLeft = 0...

2018-03-25 18:31:57 1420

原创 刷算法题 前言

前言好久没写博客的。日常笔记放在印象笔记,而且自己刚刚出来工作,处于汲取知识的阶段,对知识也没有太多自己的经验见解,写的博客也少了。另一方面当然也是自己懒癌晚期了。发现自己的数据结构和算法,真的菜得不行。看到算法题,好像有思路,但是就是做不出来。一方面是自己的基础不够坚实,具体到写代码时因为一些小问题碍手碍脚。另一方面是目前能力问题,只能想清楚一部分,再深写下去,就迷糊了。类比就是高三时做...

2018-03-25 11:48:56 266

原创 C++ 类调用关系没有virtual就是编译期确定

virtual 虚函数class A{public: virtual void fun(){ std::cout<<"A"<<endl; }};class B:public A{public: void fun(){ std::cout<<"B"<<endl; }};void fun2(A *a){ a->fun()

2017-08-30 10:43:17 253

原创 100层摔两个鸡蛋的问题

这是一道动态规划的题目。 参考两个链接,可以理解解法。 1. http://blog.csdn.net/lzshlzsh/article/details/5951447 2. http://www.cnblogs.com/Donnnnnn/p/5720729.html在(1)中,把100层摔鸡蛋问题,化成动态规划理解 f(a,b)表示现在有a个鸡蛋,可以允许测试b次,那么可以被测出来的层数是

2017-03-26 15:42:47 889

转载 【转载】libevent核心数据结构

转载自 libevent核心数据结构eventevent就是每一个需要处理的事件。struct event { //TAILQ_ENTRY:双向链表。用双向链表保存IO和信号事件 TAILQ_ENTRY (event) ev_next; //IO事件双向链表中位置 TAILQ_ENTRY (event) ev_active_next; //活跃的事件在活跃双向链表中位置 TAILQ_E

2017-03-08 20:01:57 261

转载 【转载】libevent简单流程

转载自 这里事件处理流程 当应用程序向libevent注册一个事件后,libevent内部是怎么样进行处理的呢?下面的图就给出了这一基本流程。 1) 首先应用程序准备并初始化event,设置好事件类型和回调函数;这对应于前面第步骤2和3;2) 向libevent添加该事件event。对于定时事件,libevent使用一个小根堆管理,key为超时时间;对于Signal和I/O事件,li

2017-03-08 18:41:41 251

原创 校招前总结

从9月份,大三开学之前坚定要走C++后台开发的方向,有很认真的看许多关于C++、网络编程的书。如下 C++:《C++ Primer》,《Effective C++》,《深度探索C++对象模型》,《STL源码剖析》网络编程:《UNP 卷1》,《UNP 卷2》,《Linux多线程服务端编程》,《APUE》,《TCP/IP 卷1》操作系统:《深入理解计算机系统》数据结构:《数据结构与算法那分析 C++描

2017-03-04 00:04:27 352

原创 【转载】select和poll调用深入解析

select调用深入解析 poll调用深入解析 上面两个链接写关于select和poll底层是怎样工作,很细心对源代码进行剖析,解释得挺详细的。特别是关于poll。其实select和poll底层都是把fd copy到内核,遍历所有fd数组,然后把对应的进程(当前进程)挂载到专属于这个fd的等待队列上面。如果这个fd可读或可写,就在队列中激活进程。然后内核再填写好状态,copy回用户空间。用户跳出

2017-02-19 22:25:33 251

空空如也

空空如也

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

TA关注的人

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