03 2016 档案

leetcode : Product of Array Except Self
摘要:Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except  阅读全文

posted @ 2016-03-28 11:58 远近闻名的学渣 阅读(122) 评论(0) 推荐(0)

leetcode :Search in Rotated Sorted Array I&&II
摘要:一、Search in Rotated Sorted Array: 在一个 rotated 之后的有序数组中,寻找某个数,很自然的想到二分查找。 在二分查找的过程中,既可以按照left right 是否有序来分情况讨论,也可以按照 left mid 是否有序来分情况讨论,问题在于需要注意边界问题以及 阅读全文

posted @ 2016-03-27 21:40 远近闻名的学渣 阅读(123) 评论(0) 推荐(0)

leetcode :Spiral Matrix
摘要:题目很简单,就是花式拐弯遍历一个矩阵。 既然题目花式拐弯遍历矩阵,那我们就来一个花式漂移完成拐弯瞬间爆炸的解法: 1,定义四个移动操作,goLeft,goRight,goUp,goDown 2,定义四个边界,up,down,left, right,当goLeft走到头的时候,将down边界往上移一行 阅读全文

posted @ 2016-03-27 15:57 远近闻名的学渣

DFS算法的循环结束条件
摘要:写DFS算法时,最好在函数入口处判断边界条件与结束条件,如 void dfs () { check_bound(); check_end(); dfs(); } 这样的好处有: 1,写算法的时候,首先是要考虑空输入的,如vector<int>{}这样的初始输入,所以要么在dfs之前判断,要么在dfs 阅读全文

posted @ 2016-03-26 22:12 远近闻名的学渣

C语言中的标准输入输出流
摘要:1, 标准库中的流是自带缓冲的,通常: 1) 若输入输出为终端,一次缓冲一行 2)若输入输出为文件,全缓冲 3)标准错误不缓冲 也就是说,若混用 read select等系统调用 和 流, 很可能数据被缓冲在流的缓冲区,从而让read,读不到数据,或者数据不能及时写入。并且select也将更难检测 阅读全文

posted @ 2016-03-17 19:57 远近闻名的学渣 阅读(520) 评论(0) 推荐(0)

C++ lower_bound,upper_bound
摘要:两个函数都是三个参数: 前两个参数是一对迭代器,表示一个左闭右开区间,第三个参数是target 返回值: 返回一个迭代器,记得注意的是,在这个迭代器指向的位置直接insert target之后,原有的序列依旧保持有序,这样就很好记两个函数的返回位置了: lower_bound:返回第一个大于或者等于 阅读全文

posted @ 2016-03-15 23:29 远近闻名的学渣 阅读(199) 评论(0) 推荐(0)

Unix socket编程杂谈
摘要:一、 同步 、异步、信号驱动IO、阻塞与非阻塞、I/O复用 同步包括了: 阻塞与非阻塞,I/O复用,信号驱动,因为他们在调用read等函数时,如果有数据可读,都会等到数据读取完毕才返回,而异步是发起后直接返回,等待内核通知读写完毕。 同步模型指的是所有的事情都按照某个顺序做完,并且只有一件事做完了才 阅读全文

posted @ 2016-03-15 23:16 远近闻名的学渣

C++ 中的重载,隐藏与重写
摘要:首先, 这里重载指 overwrite, 即普通的函数重载, 重写指的是 override, 即虚函数的重写,隐藏:这里特指派生类成员隐藏基类成员的情况 一、重载 说到重载首先得说名字查找, C++在处理函数调用的方式是这样的: 首先根据函数的名字在当前作用于进行名字查找,如果没找到,则往上层作用域 阅读全文

posted @ 2016-03-15 10:41 远近闻名的学渣 阅读(291) 评论(0) 推荐(0)

C++范型编程 -- <type_traits>头文件
摘要:在type_traits头文件中定义了许多非常好玩的东西,这里对着 c++ reference 翻译一丢丢   一,helper class , std::intergral_constant 我们知道对在模板参数中的非类型参数必须为常量,所以这个东西就是可以为类型T的任意一个常量v,做出来一个特定 阅读全文

posted @ 2016-03-13 15:53 远近闻名的学渣 阅读(4186) 评论(0) 推荐(0)

理解std::forward 与 参数转发
摘要:在泛型编程中,常常需要将参数原封不动的转发给另外一个函数,比如std::make_shared<T>(Args&&... args) 就需要将参数完美转发到T对应的构造函数中。为了实现完美转发, std增加了forward工具函数, 完美转发主要目的一般都是为了避免拷贝,同时调用正确的函数版本。 为 阅读全文

posted @ 2016-03-12 23:56 远近闻名的学渣 阅读(4397) 评论(0) 推荐(1)

lambda 与 priority_queue 以及 function 以及 bind
摘要:lambda是一种可调用对象,它是一个对象,每个lambda都有自己不同的类型。 年轻时以为STL和lambda混用时会有一些奇怪现象,比如我无法像这样定义优先队列: 但是却可以这样用sort 以及可以这样用sort 之所以会出现这样的疑问,是因为没有搞清楚函数对象 (也叫可调用对象) 和 模板的类 阅读全文

posted @ 2016-03-11 23:58 远近闻名的学渣 阅读(4361) 评论(0) 推荐(2)

导航