- 博客(29)
- 收藏
- 关注
原创 c++ remove() erase() 区别
remove(begin(), end(), val): 返回新的end()迭代器但是不改变原来数组的end()迭代器的值。erase(): 返回下一个元素的迭代器且改变原来数组的end()迭代器的值
2017-01-30 18:33:02 2998
原创 leetcode 167 Two Sum II - Input array is sorted
Problem: 给一个已排好序的数组,从数组中找两个数的和等于给定的一个定值。
2017-01-29 23:44:32 342
原创 leetcode 258 Add Digits
Problem: 给一个整数,将这个整数每一位的数都相加得到一个新的整数,直到它变成个位数,求这个个位数(树根)。
2017-01-29 01:12:48 558
原创 leetcode 389 Find the Difference
Problem: 给两个字符串s, t。t是由s打乱顺序后在随机一个位置加了一个字符构成,所有字符均为小写,求这个字符是什么?
2017-01-29 00:27:47 525
原创 leetcode 492 Construct the Rectangle
Problem: 给定一个矩形的面积,求这个矩形的长和宽,使得长宽都是整数且差最小。
2017-01-28 14:56:54 555
原创 HDU 1054 Strategic Game 树形DP
Problem: 给了一棵树,所有的边都需要士兵看守,士兵在节点上,结点上的士兵可以看守与他相邻的路,问这棵树最少需要多少士兵。
2017-01-27 17:37:06 400
原创 HDU 2412 Party at Hali-Bula 树形DP
Problem: 有一颗上下级关系的书,对于每一个节点来说,它和它的直系上级不能同时存在,问这棵树最多有多少个节点可以同时存在。
2017-01-27 16:45:22 345
原创 leetcode 136 Single Number
Problem: 给一个数组,数组中的每个元素都重复了两次,只有一个元素是个例外,求这个元素的值是多少?
2017-01-25 02:54:47 349
原创 leetcode 448 Find All Numbers Disappeared in an Array
Problem: 给一个数组,数组中包含大小为1~n(数组的大小)的数,问有哪一个数没有包含到当中?
2017-01-25 02:49:12 316
原创 leetcode 292 Nim Game
Problem: 有一堆石子,两个人博弈,每个人一次可以拿1或2或3颗石子,拿走最后一堆石子的人赢,每个人都是最优策略,你先拿,问你能不能赢?
2017-01-25 01:33:11 385
原创 leetcode 463 Island Perimeter
Problem: 给一个矩阵,每个格子只包含1或0,每个格子都有四条边,两个相邻的1的界不算一条边,题目保证给定矩阵有且只有一个1的连通块儿,且连通块儿内不包含0。求这个1的连通块儿有几条边?
2017-01-21 17:53:58 332
原创 leetcode 412 Fizz Buzz
Problem: 从1-n,如果是3的倍数就输出Fizz,5的倍数输出Buzz,都是则输出FizzBuzz,否则输出i(第i个数)。
2017-01-21 12:34:27 395
原创 Java Integer.highestOneBit(int num) 源码解析
这个函数返回一个int值,这个值代表num的最高位为1,其它位为0的整数,负数的最高位在第32位上,所以通常只用于负数。
2017-01-20 17:06:06 968
原创 If-else 三目运算符 底层实现 效率差异
读完文章后自己的一个小结: 在没有编译器优化的情况下三目运算符比If-else快,因为三目运算符还会使用额外的临时变量,它先运算后复制,If-else是直接赋值,所以速度会快,但是现在的编译器已经会把这些做优化,优化后的汇编代码是一样的,就好比i++和++i,编译优化后的汇编代码是一样的。
2017-01-17 15:57:24 17156 6
原创 c++ 引用 底层实现机制
看完原文后的一个小结: 1. 引用是在编译的过程中被处理的,实际上就是在编译层面对程序员进行的一个比较友好的语法,而在实现上是由编译器完成了地址的传递,实质上还是指针。 2. 不能简单的理解为一个别名,我们可以这样用,但是要知道底层就是一个指针变量,是要占用内存空间的,和define是不一样的。
2017-01-17 10:23:48 3670 6
原创 c++ 输入输出 十六进制 八进制 布尔值 控制精度等
使用具体数字表示的输出 cout << fixed cout.unsetf(ios_base::fixed); 控制数据精度: cout.setprecision(int n); cout.unsetf(ios_base::floatfield);切换至十六进制输入模式: cin >> hex; 切换至八进制输入模式: cin >> oct; 切换至十进制输入模式: cin >>
2017-01-16 01:08:52 772
原创 leetcode 461 hammingDistance
Problem: 给两个小于2^31的整数,求出他们对应的二进制数中对应位数不相同的个数。
2017-01-16 00:48:17 385
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人