算法
文章平均质量分 76
zoushidexing
这个作者很懒,什么都没留下…
展开
-
求数组(元素可为正数、负数、0)的最大子序列和
求数组(元素可为正数、负数、0)的最大子序列和,这道题目需要用到动态规划。需要记录当前子序列的最大值。当我们增加一个正数时,和会增加,当我们增加一个负数是和会减小。我们需要记录最大的和,可我们也不能放弃”和加一个负数得到的值,只要这个值为正数“,如果为负数了,就重新记录,因为后面的数加上它只会变小,不会变大。因为我们不知道后面是否会来一些数,是的总和大于我们记录的最大值(我们跳过了负数原创 2012-09-19 18:31:09 · 1574 阅读 · 0 评论 -
删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)符转化(合并)为1个
这是一道面试题:删除字符串开始及末尾的空白符,并且把数组中间的多个空格(如果有)符转化(合并)为1个。例如把“ I like python ! "变成”I like python !“。问题很明确,关键是要减少字符的移动次数。要减少字符的移动次数,如果能一次性就把字符移到准确地位置就好了,不要做不必要的移动。下面给出用python些的简单代码。#!/usr/bi原创 2012-09-19 16:17:20 · 2254 阅读 · 0 评论 -
子数组的最大乘积-编程之美
帮老师带的实验课,上课之前无聊,用机房的机子顺手实现了编程之美中的一道题,解法一的python实现。问题:给定一个长度为N的整数数组,只允许用乘法,不能用除法,计算任意(N-1)个数的组合中成绩最大的一组。实现的原理比较简单,就是以空间换时间。#!/usr/bin/pythonimport sysdef smul(s,a,i): if i>0:原创 2012-10-25 15:21:48 · 1078 阅读 · 0 评论 -
计算字符串的相似度(距离)-编程之美
最近看编程之美,这个题目比较好,转化了问题。许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程度。我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:1.修改一个字符(如把“a”替换为“b”)。2.增加一个字符(如把“abdd”变为“aebdd”)。3.删除一个字符(如把“travelling”变为“traveling”)。比如,对于原创 2012-11-11 22:02:00 · 1439 阅读 · 0 评论 -
分层遍历二叉树-编程之美
翻看编程之美的3.10:分层遍历二叉树,觉得这个基本问题会经常遇到: 问题1:给定一棵二叉树,要求按分层遍历该二叉树,即从上到下的层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号。 问题2:写一个函数,打印二叉树中某层次的节点(从左到右),其中根节点为第0层,函数原型为int PrintNodeAtLevel(Node* root,原创 2012-12-03 11:21:36 · 719 阅读 · 0 评论 -
LEB(Little Endian Base )128 的编码解码
LEB128( Little Endian Base 128 ) 是一个变长的数据格式(所占的字节数可变)其分为 unsinged LEB128 和 signed LEB128 。可用于将一个任意的大整数存储在少量的字节当中。I.Encoding unsigned LEB128算法是这样的(Dwarf-2.0.0.pdf Appendix 4 99页)do{ byte = l转载 2012-12-25 15:01:13 · 4714 阅读 · 0 评论 -
海量数据处理算法—Bloom Filter
1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。 Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。它是一个判断元素是否存在集合的快速的概率算法。Bloom Fil转载 2013-07-21 14:27:44 · 1131 阅读 · 0 评论 -
哈希分布与一致性哈希算法—在swift中看到这个有意思的算法
在研究swift的基本原理时,看到了这个算法,不怎么明白,找了几个帖子来学习。感谢@博客园一条辉的博客(liunx.cnblogs.com) @sparkliang前言在我们的日常web应用开发当中memcached可以算作是当今的标准开发配置了。相信memcache的基本原理大家也都了解过了,memcache虽然是分布式的应用服务,但分布的原则是由client端的api来决定的,ap转载 2012-08-10 15:49:14 · 3676 阅读 · 0 评论 -
1007. Maximum Subsequence Sum (25)-PAT
1007. Maximum Subsequence Sum (25)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueGiven a sequence of K integers { N原创 2013-06-30 23:04:12 · 968 阅读 · 0 评论 -
1059. Prime Factors (25)-PAT
1059. Prime Factors (25)时间限制50 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者HE, QinmingGiven any positive integer N, you are suppo原创 2013-07-30 15:06:05 · 1794 阅读 · 0 评论 -
1060. Are They Equal (25)-PAT
1060. Are They Equal (25)时间限制50 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueIf a machine can save only 3 significant dig原创 2013-07-30 11:20:06 · 1766 阅读 · 1 评论 -
1026. Table Tennis (30)-PAT
1026. Table Tennis (30)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA table tennis club has N tables available to原创 2013-07-27 14:32:35 · 1033 阅读 · 0 评论 -
1011. World Cup Betting (20)-PAT
1011. World Cup Betting (20)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueWith the 2010 FIFA World Cup running, fo原创 2013-07-13 21:11:19 · 947 阅读 · 0 评论 -
1055. The World's Richest (25)-PAT
1055. The World's Richest (25)时间限制200 ms内存限制128000 kB代码长度限制16000 B判题程序StandardForbes magazine publishes every year its list of billionai原创 2013-08-03 19:04:41 · 883 阅读 · 0 评论 -
1003. Emergency (25)-PAT
1003. Emergency (25)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueAs an emergency rescue team leader of a city, yo原创 2013-07-08 16:35:36 · 1664 阅读 · 0 评论 -
1008. Elevator (20)-PAT
1008. Elevator (20)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueThe highest building in our city has only one ele原创 2013-07-11 15:06:20 · 762 阅读 · 0 评论 -
1018. Public Bike Management (30)-PAT
1018. Public Bike Management (30)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueThere is a public bike service in H原创 2013-07-26 10:15:52 · 1781 阅读 · 0 评论 -
1053. Path of Equal Weight (30)-PAT
1053. Path of Equal Weight (30)时间限制10 ms内存限制32000 kB代码长度限制16000 B判题程序StandardGiven a non-empty tree with root R, and with weight Wi assi原创 2013-08-03 21:45:48 · 1460 阅读 · 0 评论 -
2386.Lack Counting -POJ
Lake CountingTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 16090 Accepted: 8148DescriptionDue to recent rains, water has pooled in various places in F原创 2013-08-02 22:24:03 · 847 阅读 · 0 评论 -
1058. A+B in Hogwarts (20)- PAT
1058. A+B in Hogwarts (20)时间限制50 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueIf you are a fan of Harry Potter, you would原创 2013-07-30 16:00:48 · 1237 阅读 · 1 评论 -
在一N个整数查找序列中的最大数和最小数, 及 所需要的比较次数?
在一N个整数查找序列中的最大数和最小数 及 所需要的比较次数?思路:同时取出两个数,比较它们的大小,结果中大的数同当前max比较,小的数同当前min比较。比较第一组需要的次数+比较剩余每一组数需要的次数偶数个数,比较次数大致为:1+(1+2)*(N-2)/2 次,奇数个数:1+(1+2)*(N-2-1)/2 +1次#include #define N 12void get原创 2013-04-13 22:58:52 · 5188 阅读 · 0 评论 -
1040. Longest Symmetric String-PAT 1528:最长回文子串-九度
1040. Longest Symmetric String (25)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueGiven a string, you are supposed原创 2013-06-28 19:42:47 · 1053 阅读 · 0 评论 -
1010-Tempter of the Bone -HDUOJ
Tempter of the BoneTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 52780 Accepted Submission(s): 14191Problem DescriptionThe原创 2013-07-28 22:48:57 · 716 阅读 · 0 评论 -
1011. Sticks(木棒) -POJ
SticksTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 110042 Accepted: 25243DescriptionGeorge took sticks of the same length and cut them randomly until原创 2013-07-27 22:58:04 · 1234 阅读 · 0 评论 -
1013. Battle Over Cities (25)-PAT
1013. Battle Over Cities (25)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueIt is vitally important to have all the原创 2013-07-16 20:13:55 · 1500 阅读 · 0 评论 -
1014. Waiting in Line (30)-PAT
1014. Waiting in Line (30)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueSuppose a bank has N windows open for serv原创 2013-07-17 19:16:43 · 1197 阅读 · 0 评论 -
1054. The Dominant Color (20)-PAT
1054. The Dominant Color (20)时间限制100 ms内存限制32000 kB代码长度限制16000 B判题程序StandardBehind the scenes in the computer's memory, color is always原创 2013-08-03 19:36:05 · 1697 阅读 · 1 评论 -
1056. Mice and Rice (25)-PAT
1056. Mice and Rice (25)时间限制30 ms内存限制32000 kB代码长度限制16000 B判题程序StandardMice and Rice is the name of a programming contest in which each p原创 2013-08-03 09:43:02 · 1874 阅读 · 0 评论 -
1001. A+B Format (20)
Calculate a + b and output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).InputEach input file cont原创 2013-01-14 20:34:19 · 677 阅读 · 0 评论 -
1010. Radix (25)-PAT
1010. Radix (25)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueGiven a pair of positive integers, for example, 6 an原创 2013-05-25 19:29:14 · 1792 阅读 · 4 评论 -
1002. A+B for Polynomials (25)
This time, you are supposed to find A+B where A and B are two polynomials.InputEach input file contains one test case. Each case occupies 2 lines, and each line contains the information of a p原创 2013-01-14 19:34:55 · 1112 阅读 · 1 评论 -
Increasing Sequences-ZOJ 1499 POJ 1039
Increasing SequencesTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 2773 Accepted: 1039DescriptionGiven a string of digits, insert commas to create a se原创 2013-06-16 20:22:28 · 1258 阅读 · 0 评论 -
1049. Counting Ones (30)-PAT
1049. Counting Ones (30)http://pat.zju.edu.cn/contests/pat-a-practise/1049时间限制10 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, Yue原创 2013-06-30 16:25:32 · 1266 阅读 · 0 评论 -
1021. Deepest Root (25)-PAT
1021. Deepest Root (25)时间限制1500 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA graph which is connected and acyclic can b原创 2013-07-29 18:41:48 · 2607 阅读 · 1 评论 -
1004. Counting Leaves (30)-PAT
1004. Counting Leaves (30)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueA family hierarchy is usually presented by a原创 2013-07-08 16:31:34 · 1492 阅读 · 0 评论 -
1006. Sign In and Sign Out (25)-PAT
1006. Sign In and Sign Out (25)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueAt the beginning of every day, the fi原创 2013-07-11 14:34:51 · 1117 阅读 · 0 评论 -
1009. Product of Polynomials (25)-PAT
1009. Product of Polynomials (25)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueThis time, you are supposed to find原创 2013-07-12 12:12:43 · 913 阅读 · 0 评论 -
题目1525:子串逆序打印-九度
题目1525:子串逆序打印题目描述:小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串的每个子串都打印反了,现在麻烦你帮小明将这些字符串中的子串修正过来,同时为了使卡片美观,压缩其中的连续空格为1个。输入:输入包含多个测试用例,每个测试用例的第一行是一个正整数 n,1=输出:对原创 2013-07-22 13:09:32 · 1290 阅读 · 0 评论 -
题目1527:首尾相连数组的最大子数组和-九度
题目描述:给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是相连的。数组中一个或多个连续元素可以组成一个子数组,其中存在这样的子数组arr[i],…arr[n-1],arr[0],…,arr[j],现在请你这个ACM_Lover用一个最高效的方法帮忙找出所有连续子数组和的最大值(如果数组中的元素全部为负数,则最大和为0,即一个也没有选)。原创 2013-07-23 10:36:08 · 985 阅读 · 0 评论 -
1031. Hello World for U (20)-PAT
1031. Hello World for U (20)时间限制400 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueGiven any string of N (>=5) characters,原创 2013-07-21 11:10:22 · 648 阅读 · 0 评论