cheng_you_know

学而时习之!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年8月1日

摘要: Color the ballTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5833 Accepted Submission(s): 3110 Problem Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次... 阅读全文
posted @ 2013-08-01 22:49 cheng_you_know 阅读(122) 评论(0) 推荐(0)

摘要: 转:http://blog.csdn.net/smqjzzm1988/article/details/6667640 1. 给你一个长度为N的链表。N很大,但你不知道N有多大。你的任务是从这N个元素中随机取出k个元素。你只能遍历这个链表一次。你的算法必须保证取出的元素恰好有k个,且它们是完全随机的(出现概率均等)。 解:先选中前k个, 从第k+1个元素到最后一个元素为止, 以k/i (i=k+1... 阅读全文
posted @ 2013-08-01 22:05 cheng_you_know 阅读(139) 评论(0) 推荐(0)

摘要: #谷歌面试题#,http://blog.sina.com.cn/s/blog_979956cc0101hd0f.html 给你一个数组,它有N个8-bit整数, (比如,从0到255), 和M个子数组,[i, j] (每个子数组由两个下标 i 和 j 确定,0 > N^2,则可以预处理,用O(N^2)的空间存储所有M个子数组可能的结果,预处理时间O(N^2),M次查询时间为O(M) case 3:... 阅读全文
posted @ 2013-08-01 21:51 cheng_you_know 阅读(357) 评论(0) 推荐(0)

摘要: 给你一个数组A[1..n],请你在O(n)的时间里构造一个新的数组B[1..n],使得B[i]=A[1]*A[2]*...*A[n]/A[i]。你不能使用除法运算。 分析: 思路1:题目中说明,不能用除法,那一定是在相乘的时候,省略那一项,然后时间复杂度要0(n),就不能两层循环,而是要利用前面的相乘信息来降低复杂度。 算法:相似的分拆技术在数组题中。线性时间构造两个新数组,从开始遍历相乘 T1[... 阅读全文
posted @ 2013-08-01 21:36 cheng_you_know 阅读(209) 评论(0) 推荐(0)

摘要: 问题描述 给定参数n(n为正整数),请计算n的阶乘n!末尾所含有“0”的个数。 例如,5!=120,其末尾所含有的“0”的个数为1;10!= 3628800,其末尾所含有的“0”的个数为2;20!= 2432902008176640000,其末尾所含有的“0”的个数为4。 问题分析: 显然,对于阶乘增长速度的非常快的,很容易就溢出了。当然就不可能把阶乘算出来,而是要找规律解决。下面用因式分解的... 阅读全文
posted @ 2013-08-01 20:07 cheng_you_know 阅读(466) 评论(0) 推荐(0)