自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

转载 最大子序列和最大递增子序列

给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 例如给定序列{ -2, 11, -4, 13, -5, -2 },其最大连续子序列为{ 11, -4, 13 },最大和 为20。 在今年的数据结构考卷中,要求编写程序得到最大和,现在增加一个要求,即还需要输出该 子序列的第一个和最后一个元素。

2016-07-13 09:04:22 530

转载 LIS(最长递增子序列)

最长递增子序列可以用动态规划的方法,时间复杂度是o(n*n),也可以用二分查找的方法,时间复杂度是o(nlogn)。首先看二分查找的方法:思路是,顺序插入数据,当插入的数据大于以往的任何值时,插入到最后,若插入的数据不是大于以往的任何值时,首先找到大于要插入数据的一个值,然后,将要插入的数据将该值替换掉。因为找到替换的值的复杂度为o(logn),要进行n次插入,所以时间复杂度是o(nlogn)

2016-07-13 08:52:04 391

转载 LCS(最长公共子序列)

最长公共子序列的问题可以转化为动态规划来求解,其中,状态转移方程为:当xi = yj时,dp[i][j] = dp[i-1][j-1]+1;当xi != yj时,dp[i][j]=max{dp[i-1][j],dp[i][j-1]}.其中dp[i][j]表示字符串xi和字符串yj所具有的最长公共子序列的长度。代码中,用回溯法,求解字符串序列(逆序的形式)。package Pai

2016-07-13 08:44:16 333

转载 硬币组合

假设我们有8种不同面值的硬币{1,2,5,10,20,50,100,200},用这些硬币组合够成一个给定的数值n。例如n=200,那么一种可能的组合方式为 200 = 3 * 1 + 1*2 + 1*5 + 2*20 + 1 * 50 + 1 * 100. 问总过有多少种可能的组合方式? (这道题目来自著名编程网站ProjectEuler, 点击这里查看原题目) 类似的题目还有:  [

2016-07-12 09:20:56 606

转载 最少硬币问题

假设有3种不同的硬币,币值分别是CoinValue[] = {1, 2, 5},每一种硬币的数量是有限的,分别是CoinNum[] = {3, 3, 3},给定一个数值target=18,找出一种硬币数最少的方法, 输出最少的硬币数。思路:我们考虑用动态规划解决这个问题,动态规划的基本宗旨是:无后效性,他只能利用先前的知识来推导出后面的知识。最重要的是要有状态转移方 程。我们可以把大问题化为小

2016-07-12 08:27:48 709

转载 购物单

题目描述王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印机,扫描仪书柜图书书桌台灯,文具工作椅无如果要买归类为附件

2016-07-08 11:08:45 312

原创 01背包问题

问题描述:假定背包的最大容量为W,N件物品,每件物品都有自己的价值和重量,将物品放入背包中使得背包内物品的总价值最大。假设背包的最大容量为10,有4件物品,每件物品的重量数组为:[5,4,6,3];相应的每件物品的价值数组为:[10,40,30,50]。这个问题需要用到动态规划,所以我们首先需要知道这个问题的状态转移方程:假设我们用dp[i][j]表示前i件物品所占据容量j时所获得

2016-07-08 09:22:13 743

转载 Integer的方法

1. Integer的最大值:Integer.MAX_VALUE       Integer的最小值: Integer.MIN_VALUE2. Integer中方法的使用:假设整数为Integer i = 1000    1000的二进制表示:Integer.toBinaryString(i);     1000的二进制串中“1”的总数量:Integer.bitCount(i); 

2016-07-07 10:49:30 1522

原创 next、nextInt、nextDouble、nextFloat和nextLine的区别。

next类似于nextInt(只能输入整数)、nextDouble(只能输入双精度浮点数),可以输入任意类型的值。有几段话对这个的总结比较好,我们先看一下这几段,再总结:首先,next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键

2016-07-06 21:35:48 25151

原创 字串的连接最长路径查找

题目描述:给定n个字符串,请对n个字符串按照字典序排列。 输入描述:输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。输出描述:数据输出n行,输出结果为按照字典序排列的字符串。输入例子:9captocatcardtwotooupboatboot输出例子:

2016-07-06 21:27:29 263

原创 句子逆序

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符接口说明/** * 反转句子 *  * @param sentence 原句子 * @return 反转后的句子 */public String reverse(String se

2016-07-06 21:25:26 294

原创 数字颠倒

描述:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001思路:字符串的添加可以用StringBuilderimport java.util.*;public class Main{ public static void main(String[] args){ Sca

2016-07-06 21:23:41 309

原创 字符个数统计

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。思路:字符的ACSII码的表示为:Character c = new Character(); int num = (int)c;此时的num就表示为c的ACSII码。import java.util.*;public class Main{ public static vo

2016-07-06 21:20:05 400

原创 提取不重复的整数

输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。思路:1. 不含重复数字可以考虑用set           2. 不含重复数字时,可以猜到总共的数字都是由0-9构成的。根据这个关系建一个长度为10的数组,每当计算一位时使其加一,保证唯一性,算最终的数值。public class Ceshi2 { public static void main(String

2016-07-06 21:11:35 293

转载 HashMap的遍历

关于HashMap的遍历总共有4种方法:    1. 在for-each循环中使用entries来遍历    2. 在for-each循环中遍历keys或values    3. 使用Iterator遍历    4. 通过键找值遍历下面,我们将依次讲述这几种方法:方法一:在for-each循环中使用entries来遍历HashMap map = new HashMap

2016-07-06 10:47:50 303

原创 合并表记录

数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。思路:1. 键值对的存储可以考虑用HashMap。           2. 按照key值升序进行输出,需要对HashMap的keySet进行排序。先转化成数组,然后运用Java自带的排序函数进行排序,然后遍历输出即可。           3. HashMap的遍历

2016-07-06 10:35:46 269

原创 取近似值

写出一个程序,接受一个浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。思路:这个题的关键是对“.”的分割package niuke;import java.util.Arrays;import java.util.Scanner;public class IntegerApproximate { public static void ma

2016-07-05 20:46:49 284

原创 某一整数的质数因子

功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )思路:1. 质数是指能被1和其自身整除的整数,判断时从2开始,递加,直到自身,一旦被其他数整除,则不为质数           2. 从2开始,存储其能被整除的数,商继续迭代此过程。package niuke;import java.util.Scanner;public cl

2016-07-05 20:39:25 580 1

原创 字符串的分割

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

2016-07-05 20:34:18 466

原创 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。1. 首先从第二条规定,可以看出,需要用到字符串的添加,我们考虑用StringBuilder。2. 输出到新的字符串数组,貌似只要输出去就可以。pubic class Main{ public static void main(String[] arg

2016-07-05 20:05:34 3873

翻译 java环境变量配置

jdk的配置总共分为三步:(安装文件会传入博客中)(1)创建"java_home",写入jdk的安装路径。如E:\java\jdkinstall\jdk(2)创建“classpath”,写入“%java_home%\lib”.(3)查找“Path”,写入“%java_home%\bin”如若在安装过程中出现如下这样的问题,说明环境变量的配置不正确。

2015-11-12 17:27:37 331

鸟哥的私房菜

《鸟哥的私房菜》一书详细讲述了Linux菜鸟从入门到熟练的过程,适合菜鸟级和对Linux有兴趣的人读。

2015-09-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除