数学&算法 -凯发k8网页登录

java, c , linux c, c#.net 技术,软件架构,领域建模,it 项目管理

涵盖 ms,ibm 等公司面试算法题目,以及经典算法的 java 实现
     摘要: 最近设计知识管理系统的资源导入功能,为了尽量的做到组件化,方便扩展,方便其他模块使用。简化组件提供的和需要的接口,设计并实现了基于 mapping 机制的导入框架。其中有一功能用到了计算两个字符串相似度的算法。  阅读全文
posted @ 2009-01-19 23:53 jack.wang 阅读(10864) | 评论 (9)  编辑

     摘要: 阶乘是个很有意思的东西,可能很多朋友看到关于他的计算就怕了,其实没什么,看完下面两个问题您应该有低了。
1. 给定一个 n ,求出n!末尾有多少个零,比如 n=10,n!=3628800,n!末尾有两个零。
2. 求n!的二进制表示中最低为1的位置,比如 11010010, 最低为1的位置为2。

问题一解法:

在上一个 blog 中介绍的子数组乘积最大值的问题中,有朋友考虑到溢出的问题,在这个问题中,我们从那些数相乘能得到10这个命题开始思考。比如n!=k×10m那么n!后面就有m个零。这个问题转化为将n!进行分解,如n!=2a×3b×5c 很显然 10=2×5,那么零的个数m=min(a,c), 一个数能够被2整除的机率比5要大很多因此 m=c,因此转化为求 c的问题,具体算法如:
  阅读全文
posted @ 2008-10-18 12:05 jack.wang 阅读(4182) | 评论 (1)  编辑

     摘要: 给定一个长度为n的整数数组,只允许用乘法,计算任意(n-1)个数的组合乘积中最大的一组,并
写出算法的时间复杂度。  阅读全文
posted @ 2008-10-17 12:43 jack.wang 阅读(4716) | 评论 (11)  编辑

     摘要: 给定一个十进制数n,写下从1开始,到n的所有整数,然后数一下其中出现的所有"1"的个数。
例如:
n=2,写下1,2。这样只出现了1个"1"
n=12,写下 1,2,3,4,5,6,7,8,9,10,11,12。这样"1"的个数是5
请写出一个函数,返回1到n之间出现"1"的个数,比如 f(12)=5  阅读全文
posted @ 2008-10-16 18:10 jack.wang 阅读(4052) | 评论 (11)  编辑

     摘要: 在这之前,先介绍一下负载因子和容量的属性。大家都知道其实一个 hashmap 的实际容量就 因子*容量,其默认值是 16×0.75=12; 这个很重要,对效率很一定影响!当存入hashmap的对象超过这个容量时,hashmap 就会重新构造存取表。这就是一个大问题,我后面慢慢介绍,反正,如果你已经知道你大概要存放多少个对象,最好设为该实际容量的能接受的数字。  
posted @ jack.wang 阅读(1371) |  

     摘要: 一个对象的hashcode就是一个简单的hash算法的实现,虽然它和那些真正的复杂的hash算法相比还不能叫真正的算法,它如何实现它,不仅仅是程序员的编程水平问题,而是关系到你的对象在存取是性能的非常重要的关系.有可能,不同的hashcode可能会使你的对象存取产生,成百上千倍的性能差别。
  阅读全文
posted @ 2008-09-08 20:53 jack.wang 阅读(5195) | 评论 (2)  

网站地图