- 博客(4)
- 资源 (13)
- 收藏
- 关注
原创 lower_bound以及upper_bound
lower_bound以及upper_boundSTL中实现了这两个算法,但是代码看起来非常晦涩,如果要快速写出这两个算法的话,参照STL的实现,恐怕会非常费劲.这里,我提供一种非常简洁的实现.代码仅供参考.lower_bound给定一个有序数组 vals, 寻找 vals 中第一个为 k 的值的下标,没有找到的话,返回 -1. 举个栗子, vals = [0, 1, 1, 1, 2, 3], 那
2017-08-21 23:07:44 668
翻译 如何实现STL中的next_permutation函数?
问题,实现 STL 中的 next_permutation() .回答来自stackoverflow:先让我们来看一些排列:1 2 3 4 1 2 4 3 1 3 2 4 1 3 4 2 1 4 2 3 1 4 3 2 2 1 3 4 ...我们如何从一个排列转移到下一个排列呢?首先,让我们用另外一个角度来看待这个问题.如果将排列中每个元素视作一个数字(当然这里就是数字,但是元素是’a’, ‘b’的
2017-08-13 17:40:01 1011
原创 二叉树的遍历
二叉树的遍历二叉树是一种常见的数据结构,对于这种结构的操纵一定要烂熟于心,这篇文章想记录一下的,是二叉树的遍历操作.实现的方式二叉树的遍历,事实上有两种是实现方法,一种是递归,这种方法过分简单,所以这里不会讲,第二种方式是非递归,你可能会问,既然递归实现这么简单,我们为什么还要非递归版本的实现,这个问题很好,这个实际上和递归的内存开销有关,每一次递归,程序便要堆栈,每次堆栈,便会占用比非递归昂贵得多
2017-08-13 17:37:00 659 5
翻译 leetcode -- Single number
Single number I给定一个整数数组, 数组中的每个数都出现了 2 次,除了一个数, 它只出现了 1 次,请将它找出来.思路位操作 ^ 有着非常漂亮的性质,首先,它支持交换律:A ^ B = B ^ A其次,它还支持结合率:A ^ B ^ C = A ^ (B ^ C) = (A ^ B) ^ C然后, ^ 本身具有这样的语义:A ^ A = 0, A ^ 0 = A我们可以很清楚地知道:
2017-08-05 02:53:06 487
如何设计程序(How to design programs)官网的答案以及英文原版教程
2015-12-10
VC++编程技术与难点剖析(辛长安,梅林)
2015-04-26
Advanced Archive Password Recovery Professional v4.54.48+注册码
2013-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人