![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 68
石也强
这个作者很懒,什么都没留下…
展开
-
子数组的最大和
package com.shiyeqiang.test1;/** * 题目3:(求数组中子序列和的最大值!!) * 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 * 求所有子数组的和的最大值。 * 要求时间复杂度为O(n)。 例如:输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -原创 2014-09-23 14:21:22 · 338 阅读 · 0 评论 -
数对之差的最大值
题目:在数组中,数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5, 11, 9}中,数对之差的最大值是11,是16减去5的结果。原创 2014-09-23 14:58:21 · 992 阅读 · 0 评论 -
找出数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。解法1:将数组利用快速排序进行排序,因为数组中有一个数字出现的次数超过了数组长度的一半,则排序以后直接取得最中间的那个数字即可!时间复杂度为:o(n*logN),因为时间主要花费在快速排序上面了!public static int find1(int[] a) { Arrays.sort(a); int mi原创 2014-09-23 16:29:02 · 628 阅读 · 0 评论 -
排序数组中和为给定值的两个数字
题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11。分析:如果我们不考虑时间复杂度,最简单想法的莫过去先在数组中固定一个数字,再依次判断数组中剩下的n-1个数字与它的和原创 2014-09-23 19:27:55 · 403 阅读 · 0 评论 -
数组中只出现一次的数字
题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。分析:这是一道很新颖的关于位运算的面试题。首先我们考虑这个问题的一个简单版本:一个数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。这个题目的突破口在哪里?题目为什么要强调有一个数字出现一次,其他的原创 2014-09-23 18:36:18 · 345 阅读 · 0 评论 -
对称子字符串的最大长度
/** * 题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。 * 比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”, * 因此输出4。 * * @author Administrator * */public class Main { public static void main(String[] args) { Sy原创 2014-09-24 23:11:18 · 437 阅读 · 0 评论 -
最长公共子序列问题LCS Longest Common Subsequence
动态规划求最长公共子序列(LCS Longest Common Subsequence)最长公共子序列问题:给定两个序列 X = {x1, x2, ......, xm } 和 Y = {y1, y2, ......, yn },找出 X 和 Y 的最长公共子序列。一个给定序列的子序列是在该序列中删去若干个元素后得到的序列。给定两个序列 X 和 Y ,当另一序列 Z 既是 X原创 2014-05-20 14:20:10 · 678 阅读 · 0 评论 -
左旋转字符串
题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!输入:多组测试数据,每个测试数据包含一个字符序列S和非负整数K。其中S的长度不超过1000。原创 2014-09-25 16:27:43 · 534 阅读 · 0 评论 -
把字符串转换成整数
题目描述:将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。输入:输入可能包含多个测试样例。对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1<= n<=10000000)。输出:对应每个测试案例,若输入为一个合法的字符串(即代表一个整数),则输出这个整数。若输入为一个非法的字符串,则输出“My God”。...原创 2014-09-25 15:23:18 · 596 阅读 · 0 评论