原文链接:http://tutorials.jenkov.com/java-concurrency/costs.html
作者:Jakob Jenkov 翻译:古圣昌 校对:欧振聪
java中从一个单线程的应用到一个多线程的应用并不仅仅带来好处,它也会有一些代价。不要仅仅为了使用多线程而使用多线程。而应该明确在使用多线程时能多来的好处比所付出的代价大的时候,才使用...
分类:
编程语言 时间:
2015-05-12 15:48:32
收藏:
0 评论:
0 赞:
0 阅读:
218
将一个句子中的单词逆序排列。要求使用O(1)的额外存储空间。如I Love You逆序之后是You Love I...
分类:
编程语言 时间:
2015-05-12 15:48:17
收藏:
0 评论:
0 赞:
0 阅读:
255
写完之后,总觉得有点复杂。。
要求:
编写一个程序,将输入字符串中的字符按如下规则排序。
规则1:英文字母从A到Z排列,不区分大小写。
如,输入:Type输出:epTy
规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。
如,输入:BabA输出:aABb
规则3:非英文字母的其它字符保持原来的位置。
如,输入:By?e输出:Be?y
样例:
输入:
A Famous...
分类:
编程语言 时间:
2015-05-12 15:46:36
收藏:
0 评论:
0 赞:
0 阅读:
412
初阶:给一个单链表,判断这个单链表是否存在环,如1->2->3->4->2是一个存在环的链表。要求使用O(1)的额外空间。
进阶:求出环的入口。同样要求O(1)的额外空间。...
分类:
编程语言 时间:
2015-05-12 15:46:28
收藏:
0 评论:
0 赞:
0 阅读:
261
给定n*n的矩阵,需要查询任意子矩阵中所有数字的最大公约数。请给出一种设计思路,对矩阵进行预处理,加速查询。额外的空间复杂度要求O(n^2)以内。...
分类:
编程语言 时间:
2015-05-12 15:45:50
收藏:
0 评论:
0 赞:
0 阅读:
160
初阶:在一个n*m的矩阵中,有k个点,求矩阵中距离这k个点的距离和最近的点。
进阶:如果要求这个点与所给的k个点不重合,该怎么办?...
分类:
编程语言 时间:
2015-05-12 15:45:26
收藏:
0 评论:
1 赞:
0 阅读:
245
给定一个数组,求两个不相交的并且是连续的子数组A和B(位置连续),满足|sum(A) - sum(B)|最大(和之差的绝对值)。例如[2, -1, -2, 1, -4, 2, 8],可以得到A=[-1, -2, 1, -4], B=[2, 8],最大差为16。...
分类:
编程语言 时间:
2015-05-12 15:45:01
收藏:
0 评论:
0 赞:
0 阅读:
238
ckeditor源码编辑模式,添加style、javascript内容丢失的解决...
分类:
编程语言 时间:
2015-05-12 15:43:32
收藏:
0 评论:
0 赞:
0 阅读:
183
有红黄蓝三色的小球若干排成一列,这些小球进行排序,请使用尽量少的空间和时间。...
分类:
编程语言 时间:
2015-05-12 15:43:12
收藏:
0 评论:
0 赞:
0 阅读:
168
一个数组A[1..n],假设数组中没有任何相邻两数相等,满足A[1]n。A[i]被称为波峰,当且仅当A[i]>A[i-1]并且A[i]>A[i+1]。请找到数组中的一个波峰。假设数组中存在相邻相等的数,该怎么做?...
分类:
编程语言 时间:
2015-05-12 15:43:02
收藏:
0 评论:
0 赞:
0 阅读:
158
有一个仅有0和1组成的01串,找到其中最长的一段子串,使得该子串中0和1的数目相等...
分类:
编程语言 时间:
2015-05-12 15:42:36
收藏:
0 评论:
0 赞:
0 阅读:
270
给定一个只包含正整数的数组,给出一个方法,将数组中的数拼接起来,使得拼接后的数最大。例如,[1, 32, 212]拼接之后,所得到的最大数为322121。...
分类:
编程语言 时间:
2015-05-12 15:41:53
收藏:
0 评论:
0 赞:
0 阅读:
231
有一个仅有0和1组成的01串,找到其中最长的一段子串,使得该子串中0和1的数目相等...
分类:
编程语言 时间:
2015-05-12 15:41:42
收藏:
0 评论:
0 赞:
0 阅读:
672
给定三个字符串A, B, C,判断C是否由A和B交错构成。交错构成的意思是,对于字符串C,可以将其每个字符标记为A类或B类,使得我A类的每个字符顺序构成了A字符串,B类的每个字符顺序构成了B字符串。如:对于A=”rabbit” B=”mq”, ”rabmbitq”是由A和B交错构成的,但”rabbqbitm”不是由A和B交错构成。...
分类:
编程语言 时间:
2015-05-12 15:40:47
收藏:
0 评论:
0 赞:
0 阅读:
241
主元素(Majority Number)定义为数组中出现次数严格超过一半的数。找到这个数。要求使用O(1)的额外空间和O(n)的时间。
进阶1:如果数组中存在且只存在一个出现次数严格超过1/3的数,找到这个数。要求使用O(1)的额外空间和O(n)的时间。
进阶2:如果数组中存在且只存在一个出现次数严格超过1/k的数,找到这个数。要求使用O(k)的额外空间和O(n)的时间...
分类:
编程语言 时间:
2015-05-12 15:40:46
收藏:
0 评论:
0 赞:
0 阅读:
352
题目:
在给定字符串中找出单词( “单词”由大写字母和小写字母字符构成,其他非字母字符视为单词的间隔,如空格、问号、数字等等;另外单个字母不算单词);找到单词后,按照长度进行降序排序,(排序时如果长度相同,则按出现的顺序进行排列),然后输出到一个新的字符串中;如果某个单词重复出现多次,则只输出一次;如果整个输入的字符串中没有找到单词,请输出空串。输出的单词之间使用一个“空格”隔开,最后一个单词后...
分类:
编程语言 时间:
2015-05-12 15:40:12
收藏:
0 评论:
0 赞:
0 阅读:
210
有一副扑克有2n张牌,用1,2,..2*n代表每一张牌,一次洗牌会把牌分成两堆,1,2..n和n+1...2n。然后再交叉的洗在一起:n+1, 1, n+2, 2, … n, 2n。问按照这种技巧洗牌,洗多少次能够洗回扑克最初的状态:1,2,...2n。...
分类:
编程语言 时间:
2015-05-12 15:39:42
收藏:
0 评论:
0 赞:
0 阅读:
251
给一个数组A,和一个整数k,将数组分成两个部分(你可以移动数组中的数),使得左边部分的数都=k。要求使用O(1)的额外空间,和O(n)的时间。...
分类:
编程语言 时间:
2015-05-12 15:39:32
收藏:
0 评论:
0 赞:
0 阅读:
176
给定一个数组A[1..n],求数组B[1..n],使得B[i] = A[1] * A[2] .. * A[i-1] * A[i+1] .. * A[n]。要求不要使用除法,且在O(n)的时间内完成,使用O(1)的额外空间(不包含B数组所占空间)。...
分类:
编程语言 时间:
2015-05-12 15:38:32
收藏:
0 评论:
0 赞:
0 阅读:
211
开发人员需要具备自己可以造轮子的能力,同时也要具体会借轮子的能力,两者同样重要。...
分类:
编程语言 时间:
2015-05-12 15:36:23
收藏:
0 评论:
0 赞:
0 阅读:
256