算法
文章平均质量分 89
JDPlus
这个作者很懒,什么都没留下…
展开
-
清橙OJ 1082 查找第K小元素 -- 快速排序
题目地址:http://oj.tsinsen.com/A1082问题描述 给定一个大小为n的数组s和一个整数K,请找出数组中的第K小元素。 这是一个补充程序的试题,你需要完成一个函数: int findKth(int *s, int n, int K) 表示在s指向的数组中找到第K小的元素(如果K=1,表示找最小元素),你需要返回该元素的值。 此题对时原创 2014-02-22 10:15:48 · 5284 阅读 · 0 评论 -
九度OJ 1348 数组中的逆序对 -- 归并排序
题目地址:http://ac.jobdu.com/problem.php?pid=1348题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。输入: 每个测试案例包括两行:第一行包含一个整数n,表示数组中的元素个数。其中1 第二行包含n个整数,每个数组均为int类型。输出原创 2014-02-17 09:24:27 · 2275 阅读 · 0 评论 -
九度OJ 1362 左旋转字符串(Move!Move!!Move!!!)【算法】
题目地址:http://ac.jobdu.com/problem.php?pid=1362题目描述: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,原创 2014-02-17 21:04:44 · 1776 阅读 · 0 评论 -
九度OJ 1532 棋盘寻宝扩展 -- 动态规划【背包问题】
题目地址:http://ac.jobdu.com/problem.php?pid=1532题目描述: 现在有一个8*8的棋盘,上面放着64个不同价值的礼物,每个小的棋盘上面放置一个礼物(礼物的价值大于0小于100),一个人初始位置在棋盘的左上角,每次他只能向下或向右移动一步,并拿走对应棋盘上的礼物,结束位置在棋盘的右下角。从棋盘的左上角移动到右下角的时候的,每次他只能向下或向右原创 2014-02-17 14:45:21 · 1996 阅读 · 0 评论 -
程序员面试题精选100题(16)-O(logn)求Fibonacci数列[算法]
作者:何海涛出处:http://zhedahht.blog.163.com/题目:定义Fibonacci数列如下: / 0 n=0f(n)= 1 n=1 \ f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的转载 2014-02-17 21:13:32 · 1069 阅读 · 0 评论 -
九度OJ 1408 吃豆机器人 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1408题目描述: 淘宝公司内部有许多新鲜的小玩具,例如淘宝智能机器人。小时候,大家都玩过那个吃豆子的游戏吧,这机器人就是按照这个游戏设计的,它会朝着豆子的方向行走。不过机器人还存在一个bug,他只会朝南和朝东走。现在有一块空地,分成了n*m个格子,每个格子内有一颗豆子。机器人的起点在西北角,终点原创 2014-02-18 08:04:26 · 2330 阅读 · 0 评论 -
九度OJ 1056--最大公约数 1439--Least Common Multiple 【辗转相除法】
题目地址:http://ac.jobdu.com/problem.php?pid=1056题目描述: 输入两个正整数,求其最大公约数。输入: 测试数据有多组,每组输入两个正整数。输出: 对于每组输入,请输出其最大公约数。样例输入: 49 14样例输出: 7来源: 2011年哈尔滨工业大学计算机研究生机试真题#inclu原创 2014-02-18 09:49:16 · 2782 阅读 · 1 评论 -
程序员面试题精选100题(36)-在字符串中删除特定的字符[算法]
作者:何海涛出处:http://zhedahht.blog.163.com/题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。分析:这是一道微软面试题。在微软的常见面试题中,与字符串相关的题目占了很大的一部分,因为写程序操作字符串能转载 2014-03-02 16:11:41 · 1496 阅读 · 0 评论 -
九度OJ 朋友圈 -- 并查集
题目地址:http://ac.jobdu.com/problem.php?pid=1526题目描述: 假如已知有n个人和m对好友关系(存于数字r)。如果两个人是直接或间接的好友(好友的好友的好友...),则认为他们属于同一个朋友圈,请写程序求出这n个人里一共有多少个朋友圈。假如:n = 5 , m = 3 , r = {{1 , 2} , {2 , 3} , {4 , 5}原创 2014-02-19 17:25:27 · 3364 阅读 · 0 评论 -
并查集 -- 学习详解
作者:Yx.Ac出处:勇幸|Thinking (http://www.ahathinking.com) 昨天和今天学习了并查集和trie树,并练习了三道入门题目,理解更为深刻,觉得有必要总结一下,这其中的内容定义之类的是取自网络,操作的说明解释及程序的注释部分为个人理解。 并查集学习:并查集:(union-find sets)一种简单的用途广转载 2014-02-19 16:50:53 · 4586 阅读 · 4 评论 -
九度OJ 1386 旋转数组的最小数字 【算法】
题目地址:http://ac.jobdu.com/problem.php?pid=1386题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。输入:输入可能包含多个测试样例,对于每个测试案例,输入的第一行原创 2014-03-07 19:11:37 · 1636 阅读 · 0 评论 -
九度OJ 1447 最短路 1008 最短路径问题
题目地址:http://ac.jobdu.com/problem.php?pid=1447题目描述: 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?输入: 输入包括多组数据。每组数据第一行是两个整数原创 2014-02-24 12:20:38 · 4089 阅读 · 2 评论 -
全排列算法(字典序法、SJT Algorithm 、Heap's Algorithm)
一、字典序法1) 从序列P的右端开始向左扫描,直至找到第一个比其右边数字小的数字,即。2) 从右边找出所有比大的数中最小的数字,即&space;a_{i},&space;j>&space;i&space;\right&space;\}" title="a_{k}=min\left \{ a_{j}|a_{j}> a_{i}, j> i \right \}" alt="">。3) 交换与原创 2014-11-27 15:33:11 · 6121 阅读 · 0 评论 -
两个有序数组的中位数 【算法】
有两个有序数组A和B,设计算法求出A和B的中位数。情况1. 数组A、B长度相等,设为n。1)分别计算A和B的中位数m1和m2。2)比较m1和m2。如果m1等于m2,那么最终结果就是m1(m2)。3)如果m1大于m2,那么中位数必定在和两个子数组中。4)如果m1小于m2,那么中位数必定在和两个子数组中。5)重复上述步骤,直至两个子数组的大小均为2,那么最终结果为。原创 2014-12-06 19:53:57 · 1673 阅读 · 0 评论 -
九度OJ 1528 最长回文子串 -- Manacher算法
题目地址:http://ac.jobdu.com/problem.php?pid=1528题目描述: 回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。给出一个只由小写英文字符a,b,c...x,y,z组成的字符串,请输出其中最长的回文子串的长度。输入: 输入包含多个测原创 2014-02-19 15:10:38 · 2519 阅读 · 0 评论 -
程序员面试题精选100题(33)-在O(1)时间删除链表结点[数据结构]
作者:何海涛出处:http://zhedahht.blog.163.com/题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};函数的声明如下:void DeleteNode(ListN转载 2014-02-17 12:00:15 · 1825 阅读 · 0 评论 -
九度OJ 1214 寻找丑数【算法】
题目地址:http://ac.jobdu.com/problem.php?pid=1214题目描述: 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。输入: 输入包括一个整数N(1输出: 可能有多组测试数据,对于每组数据,输原创 2014-02-17 10:22:39 · 1143 阅读 · 0 评论 -
九度OJ 1514 数值的整数次方【算法】
题目地址:http://ac.jobdu.com/problem.php?pid=1514题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。输入: 输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,表示测试案例的数目,接下来的T行每行输入一个浮点数base和一个整数exponen原创 2014-02-16 15:41:21 · 1353 阅读 · 0 评论 -
九度OJ 1534 数组中第K小的数字 -- 二分查找
题目地址:http://ac.jobdu.com/problem.php?pid=1534题目描述: 给定两个整型数组A和B。我们将A和B中的元素两两相加可以得到数组C。譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6]。现在给你数组A和B,求由A和B两两相加得到的数组C中,第K小的数字。输入: 输入可能包含多个原创 2014-02-22 11:06:07 · 2805 阅读 · 0 评论 -
Dynamic Programming: From novice to advanced
作者:Dumitru出处:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=dynProgAn important part of given problems can be solved with the help of dynamic programming (DP for short). Being转载 2014-02-16 10:56:09 · 1206 阅读 · 0 评论 -
九度OJ 1372 最大子向量和(连续子数组的最大和)
题目地址:http://ac.jobdu.com/problem.php?pid=1372题目描述: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-原创 2014-02-10 17:11:32 · 1392 阅读 · 0 评论 -
九度OJ 1410 垒积木 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1410题目描述: 给你一些长方体的积木,问按以下规则能最多垒几个积木。1 一个积木上面最多只能垒另一个积木。2 在下面的积木的长宽高要大于或等于上面的积木的长宽高输入: 输入有多组,每组输入第一行是一个整数n(1输出: 对于每组输入,输出按规则最多能垒几个积木。原创 2014-02-17 17:07:57 · 3507 阅读 · 0 评论 -
九度OJ 1533 最长上升子序列 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1533题目描述: 给定一个整型数组, 求这个数组的最长严格递增子序列的长度。 譬如序列1 2 2 4 3 的最长严格递增子序列为1,2,4或1,2,3.他们的长度为3。输入: 输入可能包含多个测试案例。对于每个测试案例,输入的第一行为一个整数n(1输入的第二行包括n个整数,代原创 2014-02-19 12:26:34 · 4484 阅读 · 4 评论 -
九度OJ 1527 首尾相连数组的最大子数组和 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1527题目描述: 给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是相连的。数组中一个或多个连续元素可以组成一个子数组,其中存在这样的子数组arr[i],…arr[n-1],arr[0],…,arr[j],现在请你这个ACM_Lover用一个最高效的方原创 2014-02-15 17:26:02 · 2195 阅读 · 2 评论 -
Greedy is Good
作者:supernova出处:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=greedyAlgJohn Smith is in trouble! He is a TopCoder member and once he learned to master the "Force" of dynamic pr转载 2014-02-16 11:24:55 · 3245 阅读 · 0 评论 -
Range Minimum Query and Lowest Common Ancestor
作者:danielp出处:http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=lowestCommonAncestor Introduction Notations Range Minimum Query (RMQ) Trivial algorithms for RMQ A转载 2014-02-16 11:27:37 · 1150 阅读 · 0 评论 -
九度OJ 1544 数字序列区间最小值
题目地址:http://ac.jobdu.com/problem.php?pid=1544题目描述: 给定一个数字序列,查询任意给定区间内数字的最小值。输入: 输入包含多组测试用例,每组测试用例的开头为一个整数n(1接下去一行给出n个数字,代表数字序列。数字在int范围内。下一行为一个整数t(1最后t行,每行给出一个查询,由两个整数表示l、r(1原创 2014-02-15 15:45:45 · 1950 阅读 · 0 评论 -
程序员面试题精选100题(63)-数组中三个只出现一次的数字[算法]
作者:何海涛出处:http://zhedahht.blog.163.com/题目:一个数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。分析:在博客http://zhedahht.blog.163.com/blog/static/2541117420071128950682/中我们讨论了如何在一个数组中找出两个只出现一次的数字。在这道题中,如果转载 2014-02-16 19:46:53 · 850 阅读 · 0 评论 -
九度OJ 1349 数字在排序数组中出现的次数 -- 二分查找
题目地址:http://ac.jobdu.com/problem.php?pid=1349题目描述: 统计一个数字在排序数组中出现的次数。输入: 每个测试案例包括两行:第一行有1个整数n,表示数组的大小。1第二行有n个整数,表示数组元素,每个元素均为int。第三行有1个整数m,表示接下来有m次查询。1下面有m行,每行有一个整数k,表示要查询的数。原创 2014-02-17 08:10:28 · 2123 阅读 · 0 评论 -
程序员面试题精选100题(38)-输出1到最大的N位数[算法]
作者:何海涛出处:http://zhedahht.blog.163.com/题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。分析:这是一道很有意思的题目。看起来很简单,其实里面却有不少的玄机。应聘者在解决这个问题的时候,最容易想到的方法是先求出最大的n位数是什么,然后用一个循环从1开始逐个输出。很快,我们就能转载 2014-02-17 11:56:42 · 1089 阅读 · 0 评论 -
九度OJ 1283 第一个只出现一次的字符
题目地址:http://ac.jobdu.com/problem.php?pid=1283题目描述: 在一个字符串(1输入: 输入有多组数据每一组输入一个字符串。输出: 输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。样例输入: ABACCDEFFAA样例输出: 1-1#include int m原创 2014-02-16 17:11:02 · 972 阅读 · 0 评论 -
九度OJ 1351 数组中只出现一次的数字
题目地址:http://ac.jobdu.com/problem.php?pid=1351题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。输入: 每个测试案例包括两行:第一行包含一个整数n,表示数组大小。2第二行包含n个整数,表示数组元素,元素均为int。输出: 对应每个测试案例,输出数组中只出原创 2014-02-17 08:09:51 · 1489 阅读 · 0 评论 -
九度OJ 1504 把数组排成最小的数【算法】-- 2009年百度面试题
题目地址:http://ac.jobdu.com/problem.php?pid=1504题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。输入: 输入可能包含多个测试样例。对于每个测试案例,输入的第一行为一个整数m (1原创 2014-02-17 09:48:19 · 946 阅读 · 0 评论 -
九度OJ 1513 二进制中1的个数
题目地址:http://ac.jobdu.com/problem.php?pid=1513题目描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。输入: 输入可能包含多个测试样例。对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个整数。。n保证是int范围内的一个整数。输出: 对应每个测原创 2014-02-16 14:03:37 · 1704 阅读 · 0 评论