当开始编程工作时,就会有很多关于你必须学习哪种最热门编程语言的讨论。但跟任何程序员进行讨论的时候,他们会告诉你学习语言并不是学习编程的唯一。同样重要的是要理解组成基础编程语言的核心概念,即算法、数据结构以及学习如何使用技术框架,这些现已成为创造一个伟大的技术产品的精髓。既然你可以在HackerEar...
分类:
其他好文 时间:
2014-05-01 13:26:33
阅读次数:
325
1
/**********************************************************************************************************
2 * Function :...
分类:
其他好文 时间:
2014-05-01 12:23:06
阅读次数:
355
原题链接: http://oj.leetcode.com/problems/interleaving-string/
这是一道关于字符串操作的题目,要求是判断一个字符串能不能由两个字符串按照他们自己的顺序,每次挑取两个串中的一个字符来构造出来。
像这种判断能否按照某种规则来完成求是否或者某个量的题目,很容易会想到用动态规划来实现。
先说说维护量,res[i][j]表示用s1的前i个字符和s...
分类:
其他好文 时间:
2014-04-29 13:46:22
阅读次数:
336
本文出自:http://blog.csdn.net/svitter
题意:两个人从c出发,分别想去a,b旅行,两个城市之间只有一条路,有一个相应的价值。求最小的价值。通行的时候只花费一个价值。
本题目的关键在于优先队列,求出a, b, c到各点的最小价值,然后从中挑选一个点作为分开的点。
dijktra算法时用邻接表存储,因为明显是稀疏图。。还有就是存边的时候记得存双向的边,利用优先...
分类:
其他好文 时间:
2014-04-29 13:33:21
阅读次数:
295
小米面试
我:
一面:
数据结构+算法:
斐波那契数列:非递归-迭代
1MB内存,外存-100W整数,排序,O(1)-位图法
设计模式:
代理模式:OO
C++:虚函数表
二面:
数据结构+算法:
快排
二叉树遍历
设计模式:
单例模式-多线程:
关系数据库的特性
进程和线程的区别
三面:
数据结构+算法:...
分类:
移动开发 时间:
2014-04-29 13:17:19
阅读次数:
606
原题链接: http://oj.leetcode.com/problems/restore-ip-addresses/
这道题的解法非常接近于NP问题,也是采用递归的解法。基本思路就是取出一个合法的数字,作为IP地址的一项,然后递归处理剩下的项。可以想象出一颗树,每个结点有三个可能的分支(因为范围是0-255,所以可以由一位两位或者三位组成)。并且这里树的层数不会超过四层,因为IP地址由四段组...
分类:
其他好文 时间:
2014-04-29 13:16:22
阅读次数:
313
(转载请注明出处:http://blog.csdn.net/buptgshengod)
1.背景
以前我在外面公司实习的时候,一个大神跟我说过,学计算机就是要一个一个贝叶斯公式的套用来套用去。嗯,现在终于用到了。朴素贝叶斯分类器据说是好多扫黄软件使用的算法,贝叶斯公式也比较简单,大学做概率题经常会用到。核心思想就是找出特征值对结果影响概率最大的项。公式如下:...
分类:
编程语言 时间:
2014-04-29 13:15:21
阅读次数:
297
工作一两年的程序员们也许都会有一种感觉,要完成一个模块,一个功能或是做出一个东西都不难,真正困扰我们的是怎么做好一个东西。
怎么算是做好呢,我觉得一个好的代码,除了有个好的规范,有好的算法,最重要的还是要有很好的可扩展性,面对不断变化的需求,不断增加的功能,
没有好的扩展性的代码,会让你感觉根本无从下手,经常会让你有重头写过的想法。所以一个好的设计很重要,但是很多的时候我们没有办法设计出一个完...
分类:
其他好文 时间:
2014-04-29 13:15:21
阅读次数:
278
希尔排序
希尔排序,有时称为递减增量排序,是在插入排序基础上,把列表拆成几个较小的子表,然后对每个子表使用插入排序的方法。选出子表的方法是希尔排序的关键,它并不是把列表的中相近的元素取出来组成子表,而是使用了一个增量值I,有时也叫做“间隙”,然后每隔一个间隙选中一个元素来组成子表。
这可以从图6中看出来,列表中有9个元素,如果我们使用增量3,就有3个子表,每个子表单独做插入排序。完成之后的...
分类:
编程语言 时间:
2014-04-29 13:15:20
阅读次数:
353