码迷,mamicode.com
首页 >  
搜索关键字:解法    ( 5581个结果
《Cracking the Coding Interview》——第17章:普通题——题目2
2014-04-28 22:05题目:写个程序判断三连棋哪一方赢了。解法:三个相同的棋子连成一条横线,竖线或者对角线就判断为赢了。代码: 1 // 17.2 Write an algorithm to check if someone has won the tic-tac-toe game. 2 ...
分类:其他好文   时间:2014-04-29 18:12:07    阅读次数:474
《Cracking the Coding Interview》——第17章:普通题——题目4
2014-04-28 22:32题目:不用if语句或者比较运算符的情况下,实现max函数,返回两个数中更大的一个。解法:每当碰见这种无聊的“不用XXX,给我XXX”型的题目,我都默认处理的是int类型。最高位是符号位,用x - y的符号位来判断谁大谁小。请看下面代码,条件表达式配合异或运算能满足题目...
分类:其他好文   时间:2014-04-29 18:10:05    阅读次数:395
《Cracking the Coding Interview》——第17章:普通题——题目3
2014-04-28 22:18题目:计算N的阶乘尾巴上有多少个零?解法:计算5的个数即可,因为2 * 5 = 10,2的个数肯定比5多。计算5的个数可以在对数时间内搞定。代码: 1 // 17.3 Count how many zeros are there in n!? 2 // Count t...
分类:其他好文   时间:2014-04-29 17:45:30    阅读次数:365
顺序统计:寻找序列中第k小的数
最直观的解法,排序之后取下标为k的值即可。但是此处采取的方法为类似快速排序分块的方法,利用一个支点将序列分为两个子序列(支点左边的值小于支点的值,支点右边大于等于支点的值)。如果支点下标等于k,则支点就是查找的值,如果支点的下标大于k,则在左子序列里继续寻找,如果支点下标小于k,则继续在支点右子序列...
分类:其他好文   时间:2014-04-28 14:20:26    阅读次数:458
从n个元素中选择k个的所有组合(包含重复元素)
LeetCode:Combinations这篇博客中给出了不包含重复元素求组合的5种解法。我们在这些解法的基础上修改以支持包含重复元素的情况。对于这种情况,首先肯定要对数组排序,以下不再强调修改算法1:按照求包含重复元素集合子集的方法LeetCode:Subsets II算法1的解释,我们知道:若当...
分类:其他好文   时间:2014-04-28 14:00:43    阅读次数:717
《Cracking the Coding Interview》——第16章:线程与锁——题目5
2014-04-27 20:16题目:假设一个类Foo有三个公有的成员方法first()、second()、third()。请用锁的方法来控制调用行为,使得他们的执行循序总是遵从first、second、third的顺序。解法:你应该想到了用lock的方法类阻塞,不过这里面有个概念问题使得直接用Re...
分类:编程语言   时间:2014-04-28 02:27:03    阅读次数:506
《Cracking the Coding Interview》——第16章:线程与锁——题目4
2014-04-27 20:06题目:设计一个类,只有在不产生死锁的时候才分配资源。解法:不太清楚这个题是要分配何种资源,以何种形式?所以没能动手写个可运行的代码,只是闲扯了几句理论分析。代码: 1 // 16.4 Design a class which provides a lock only ...
分类:编程语言   时间:2014-04-28 01:21:58    阅读次数:558
《Cracking the Coding Interview》——第16章:线程与锁——题目6
2014-04-27 20:25题目:关于java中标有synchronized的成员方法?解法:这代表同一个对象实例的synchronized方法不能被多个线程同时调用。注意有这么多个地方都加粗了,如果这些条件有一个不满足的话,就是可以调用的。另外,如果此方法是静态成员方法, 那么总可以认为是“同...
分类:编程语言   时间:2014-04-28 01:16:06    阅读次数:583
《Cracking the Coding Interview》——第16章:线程与锁——题目3
2014-04-27 19:26题目:哲学家吃饭问题,死锁问题经典模型(专门用来黑哲学家的?)。解法:死锁四条件:1. 资源互斥。2. 请求保持。3. 非抢占。4. 循环等待。所以,某砖家拿起一只筷子后如果发现没有另一只了,就必须把手里这只筷子放下,这应该是通过破坏“请求保持”原则来防止死锁产生,请...
分类:编程语言   时间:2014-04-27 21:30:09    阅读次数:699
《Cracking the Coding Interview》——第16章:线程与锁——题目2
2014-04-27 19:14题目:如何测量上下文切换的时间?解法:首先,上下文切换是什么,一搜就知道。对于这么一个极短的时间,要测量的话,可以通过放大N倍的方法。比如:有A和B两件事,并且经常一起发生,每件只需要花几纳秒。如果你把A事件连续做几百万次,而B时间只做了几次,这样就能排除B事件对于测...
分类:编程语言   时间:2014-04-27 21:24:59    阅读次数:672
5581条   上一页 1 ... 556 557 558 559 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!