算法题积累
文章平均质量分 66
davidie
鸡血哥
展开
-
由仓库运输问题(阿里巴巴笔试题)说开来
参加阿里巴巴的笔试,碰到一个仓库运输的问题,题目如下: 有N个仓库,每个仓库存储量已知,并且 N 个仓库排成环状(i 和 i + 1 相连,n 和 1 相连)。每次只能把货物在相邻的仓库之间运输,问最少运输多少货物使得所有仓库存储量相同。 题目很有意思,通过学习http://www.cnblogs.com/legendmaner/archive/2013/05/06/3062323.htm转载 2013-05-08 21:39:18 · 1645 阅读 · 0 评论 -
字符串的排列组合问题
问题1 :输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。 思路:这是个递归求解的问题。递归算法有四个特性:(1)必须有可达到的终止条件,否则程序将陷入死循环;(2)子问题在规模上比原问题小;(3)子问题可通过再次递归调用求解;(4)子问题的解应能组合成整个问题的解。转载 2014-08-19 11:01:34 · 465 阅读 · 0 评论 -
找出数组中长度最长的等差数列
原题目是求一个无序数组中最长的等差数列。 求随机数构成的数组中找到长度大于=3 的最长的等差数列, 输出等差数列由小到大: 如果没有符合条件的就输出 格式: 输入[1,3,0,5,-1,6] 输出[-1,1,3,5] 解法如下: 1.排序 2.设极值分别为min, max,那么公差范围为(1..max-min); 3.公差d从(1..max-min)循环,求出每次转载 2014-08-25 17:14:37 · 2617 阅读 · 0 评论 -
节点通讯共享信息的问题
(阿里笔试题)现有一完全的P2P共享协议,每次两个节点通讯后都能获取对方已经获取的全部信息,现在使得系统中每个节点都知道所有节点的文件信息,共17个节点,假设只能通过多次两个对等节点之间通讯的方式,则最少需要()次通讯 A、32 B、31 C、30 D、29原创 2014-08-27 16:34:36 · 1733 阅读 · 0 评论 -
leetcode之 median of two sorted arrays
这是我做的第二个leetcode题目,一开始以为和第一个一样很简单,但是做的过程中才发现这个题目非常难,给人一种“刚上战场就踩上地雷挂掉了”的感觉。后来搜了一下leetcode的难度分布表(leetcode难度及面试频率)才发现,该问题是难度为5的问题,真是小看了它!网上搜了很多答案,但是鲜见简明正确的解答,唯有一种寻找第k小值的方法非常好,在此整理一下。 首先对leetcod转载 2014-08-29 14:32:31 · 450 阅读 · 0 评论 -
leetcode: Divide Two Integers
转载来源: http://www.cnblogs.com/panda_lin/archive/2013/10/30/divide_two_integers.html Problem: Divide two integers without using multiplication, division and mod operator.转载 2014-09-02 17:19:26 · 413 阅读 · 0 评论 -
整数数组的最大等分组数
问题描述:一个整数数组,长度为n,将其分为m 份,使各份的和相等,求m 的最大值 比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1; {3,6}{2,4,3} m=2 {3,3}{2,4}{6} m=3 所以m 的最大值为3原创 2014-08-15 20:38:26 · 2592 阅读 · 1 评论