stpeace的专栏

接纳自己,提升认知,拥抱不确定性。

排序:
默认
按更新时间
按访问量

520最悲情的告白是这样的

      男对女说:#include <stdio.h> int main() { while(1) { printf("I love you!\n"); } re...

2018-05-20 16:03:02

阅读数:2667

评论数:2

满大街都是这种烂题目------从100亿个整数中找出最大的1000个整数

不得不说, 这年头, 满大街都是类似这种烂题目------从100亿个整数中找出最大的1000个整数。        注意点: 内存装不下, 不能一次读到内存。        思路: 随便抽出1000个数, 假设他们是最大的1000个, 然后把剩余的数往其中加, 接着在这1001个数据中淘汰最小的...

2017-09-02 11:02:35

阅读数:5071

评论数:2

百万分之一颗粒度灰度策略

某帐号体系的范围是unsigned int,   请设计一个百万分之一颗粒度的灰度策略。        其实, 没什么难的, 关键是思路。        如果是十分之一颗粒度, 那很简单, 取尾数就行, 先灰度尾号为0的, 然后灰度为1的, 然后...        如果是百分之一颗粒度, 那就取...

2017-01-22 23:09:36

阅读数:4928

评论数:0

如何用程序判定点是否在线段上?

之前说过点在直线上的判断, 用面积法。 那么如何判定点C是否在线段AB上呢?       1.  判断C是否在直线AB上       2.  判断Xc和Xa, Xb的大小关系       3.  判断Yc和Ya, Yb的大小关系

2016-11-20 10:36:35

阅读数:6181

评论数:0

如何用程序判定三点是否共线?

如何用程序判定三点是否共线? 别扯什么线性规划、直线方程, 不好操作啊, 还要分类讨论。 其实很简单, 只需要判定这三点组成的“三角形”面积是否为零! 有兴趣的朋友可以写程序代码来玩玩, 我之前写过了。 PS. 已知三点, 求面积很简单, 直接海伦公式搞起。

2016-11-19 16:24:00

阅读数:7130

评论数:0

如何让代码在main前main后执行?

被人问起如何让代码在main前main后执行? 这是个有点意思但不难的问题, 熟悉MFC的人肯定知道, 有个全局对象叫theApp, 对了, 你get到了point.        废话少说, 直接上码: #include using namespace std; class OBJ { pu...

2015-11-06 23:38:27

阅读数:5537

评论数:0

bitmap再出江湖:a.txt中有40亿个无符号整数, b.txt中有10000个无符号整数, 求交集。 可用内存:1G

之前聊过很多与bitmap有关的东东, 今天我们来看这样一个问题:a.txt中有40亿个无符号整数, b.txt中有10000个无符号整数, 求交集。 可用内存:1G.         很简单, 还是用bitmap, 思路我就不说了, 因为思路完全在下面的代码中: #include #inc...

2015-08-04 23:33:16

阅读数:6125

评论数:7

两个栈来实现一个队列的C++代码(某公司社会招聘笔试题)

       利用两个栈来实现一个队列, 这个问题很常见。  最关键的是要有好的思路, 至于实现, 那是很简单的事情了。 在本文中, 也想说说自己的思路, 但是, 我觉得用代码来表述思路更符合我的习惯, 也是我的菜, 所以, 仅仅给出代码。 如有需要, 大家可以根据代码来理解思路。       ...

2015-07-05 23:35:12

阅读数:6656

评论数:10

0-1背包问题与动态规划的C/C++代码

那一年, 非计算机专业的我听到0-1背包和动态规划, 觉得很高大上, 其实, 动态规划无非就是寻找高中数学中所说的递推公式而已。最近又复习到0-1背包问题和动态规划, 所以打算用代码来玩玩。        0-1背包问题: 一个小偷来出来活动了, 拿了一个背包, 最多可以装50斤的东西的小袋子...

2015-06-30 23:53:26

阅读数:21195

评论数:8

fibonacci递归算法的“备忘录/Memo”优化法

我们先看一个简单的fibonacci递归程序: #include #include using namespace std; int fun(int n) { if(1 == n || 2 == n) { return n; } return fun(n - 1) + fun(...

2015-06-28 21:17:40

阅读数:6611

评论数:0

2路bit-map的应用:test.txt中有42亿个无符号整数,从小到大打印其中只出现过一次的数 。限制: 可用内存为1.5GB.

先看这样一个问题:test.txt中有42亿个无符号整数,从小到大打印其中只出现过一次的数 。限制: 可用内存为1.5GB.           前面, 我们已经深入讨论了bit-map, 在本文中, 我们来看看2路bit-map, 其实, 它无非是对bit-map的扩展, 用了两个数组而已罢了。...

2015-06-28 18:17:11

阅读数:5694

评论数:2

从rand5到rand7的思路和代码验证(某公司社招笔试题)

我们先来看这样一个问题, 已知rand5能等概率产生1, 2, 3, 4, 5, 现要用rand5来实现rand7(rand7的意思是要等概率产生1, 2, 3, 4, 5, 6, 7), 该怎么搞呢? 我看了一下网上资料, 很多都是凑出来一个结果, 没有什么过程思路, 我觉得虽然结果正确, 但总...

2015-06-28 16:42:50

阅读数:6504

评论数:2

bit-map再显身手:test.txt中有42亿个无符号整数, 求文件中有多少不重复的数(重复的数算一个)。限制: 可用内存为600MB.

来看看这样一个问题:test.txt中有42亿个无符号整数, 求文件中有多少不重复的数(重复的数算一个)。限制: 可用内存为600MB.           思路很简单, 还是用bitmap, 无需多啰嗦, 大家可以直接参考我之前的与bit-map有关的博文:        http://blog...

2015-06-24 23:13:15

阅读数:5859

评论数:0

斗地主之洗牌(shuffle)程序的测试程序

在博文http://coolshell.cn/articles/8593.html中, 皓哥已经详细讨论了各种shuffle程序, 并给出了测试的结果, 但博文中没有提供测试代码。 其实, 测试代码也很简单, 在本文中, 我来写一下测试代码。         在之前的博文http://blog...

2015-06-24 22:16:50

阅读数:5789

评论数:2

bit-map再显身手:test.txt中有42亿个无符号整数, 求不存在于test.txt中的最小无符号整数。限制: 可用内存为600MB.

先看看这个题目:test.txt中有42亿个无符号整数, 求不存在于test.txt中的最小无符号整数. 限制: 可用内存为600MB. 又是大数据。 看到42亿, 有灵感没? 要知道, 2的32次方就是42亿多一点点啊。42亿个无符号整数存在于文件中, 我们可以考虑在内存中用...

2015-06-22 20:34:54

阅读数:5772

评论数:0

bit-map牛刀小试:数组test[X]的值全部在区间[1, 8000]中, 现要输出test中重复的数。要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB

先来看看这个题目:数组test[X]的值全部在区间[1, 8000]中, 现要输出test中重复的数。要求:1. 不能改变原数组; 2.时间复杂度为O(X);3.除test外空间不超过1KB.        好, 我们先给出一个不限空间的解法(为了程序方便, 假设X为10, 实际上可能很大):...

2015-06-22 18:45:30

阅读数:5761

评论数:6

并查集的“并优化”(leader合并)和“查优化”(路径压缩)

在博文http://blog.csdn.net/stpeace/article/details/46506861中, 我们已经详细地了解了并查集, 不过, 那个程序略显粗糙, 下面我们考虑来优化一下。        先给出没有优化的代码吧: // taoge的并查集 #include us...

2015-06-22 16:45:53

阅读数:6415

评论数:0

斗地主之洗牌(shuffle)程序(某公司招聘笔试、面试试题)

一副poker通常有54张, 为了简便起见, 假设现有一副10张的poker牌, 试给出洗牌的C/C++代码。        嗯, 本质就是要生成10个随机数(1到10), 而且不能重复。  其实, 我们完全可以先保证不重复, 然后随机, 于是可以这么考虑:给定数列1, 2, 3, 4, 5,...

2015-06-21 18:55:32

阅读数:6088

评论数:2

并查集的简介及其C/C++代码的实现(某公司招聘笔试试题)

当年, 我在一个公司实习, 某次, 在一次算法交流的过程中, 我第一次听到了并查集这个看似高大上的概念, 也再一次感觉到了自己的无知。         对于一个非计算机专业的人来说, 你跟他说并查集, 就有点像你对着计算机专业的人说Gibbs现象或者FFT一样, 你懂的。 后来, 某公司的招聘笔试...

2015-06-15 20:10:24

阅读数:8114

评论数:1

求数组a[N]中第i(1<=i<=n)小的数(2012年某公司实习生招聘面试试题)

当年, 某公司实习生招聘, 在第一轮面试中, 我遇到这样一个题目: 有10000个互不相同的无序整数, 如何找到数组的median值(也就是说: 有一半数比它小, 另一半数比它大)。         当时, 我傻不愣登地说: 用O(N*lgN)的排序啊, 比如: 快速排序,堆排序, 归并排序,...

2015-06-13 16:21:25

阅读数:5427

评论数:4

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