随笔分类 -  算法与数据结构

摘要:/* 算法提高 6-9删除数组中的0元素 问题描述 编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动。注意,CompactIntegers函数需要接收数组及其元素个数作为参数,函数返回值应为删除操作执行后数组的新元素个数。 输入时首先读入数组长度,再依次读入每个元素。 将调用此函数后得到的数组和函数返回值输出。 样例输入 7 2 0 ... 阅读全文
posted @ 2018-03-22 14:52 忧伤的小毛驴 阅读(374) 评论(0) 推荐(0)
摘要:/* 算法训练 连续正整数的和 问题描述 78这个数可以表示为连续正整数的和,1+2+3,18+19+20+21,25+26+27。 输入一个正整数 n( n) break; else if (t == n) { System.out.println(i + " " + ... 阅读全文
posted @ 2018-03-22 14:50 忧伤的小毛驴 阅读(545) 评论(0) 推荐(0)
摘要:/* 算法提高 寻找三位数 问题描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成 1:2:3的比例,试求出所有满足条件的三个三位数。 例如:三个三位数192,384,576满足以上条件。 输入格式 无输入文件 输出格式 输出每行有三个数,为满足题设三位数。各行为满足要求的不同解。 */ public class Main { ... 阅读全文
posted @ 2018-03-22 14:48 忧伤的小毛驴 阅读(612) 评论(0) 推荐(0)
摘要:/* 算法训练 学做菜 问题描述 涛涛立志要做新好青年,他最近在学做菜。由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我们给这四种原料标上字母A,B,C,D。 涛涛现在会做的菜有五种: 1、 西红柿炒鸡蛋 原料:AABDD 2、 酸辣鸡丁 原料:ABCD 3、 宫保鸡丁 原料:CCD 4、 水煮西红柿 原料:BBB 5、 怪味蛋 原料:AD... 阅读全文
posted @ 2018-03-22 14:46 忧伤的小毛驴 阅读(199) 评论(0) 推荐(0)
摘要:/* 历届试题 带分数 问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714。 还可以表示为:100 = 82 + 3546 / 197。 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 输入格式 从标准输入读入一个正整数N (N<1000*1000) 输出格式 程序输出该数字用数码1... 阅读全文
posted @ 2018-03-22 14:45 忧伤的小毛驴 阅读(264) 评论(0) 推荐(0)
摘要:/* 历届试题 剪格子 问题描述 如下图所示,3 x 3 的格子中填写了一些整数。 +--*--+--+ |10* 1|52| +--****--+ |20|30* 1| *******--+ | 1| 2| 3| +--+--+--+ 我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两... 阅读全文
posted @ 2018-03-22 14:43 忧伤的小毛驴 阅读(129) 评论(0) 推荐(0)
摘要:/* 历届试题 矩阵翻硬币 问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵。 随后,小明对每一个硬币分别进行一次 Q 操作。 对第x行第y列的硬币进行 Q 操作的定义:将所有第 i*x 行,第 j*y 列的硬币进行翻转。 其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。 当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹——所有硬币均... 阅读全文
posted @ 2018-03-22 13:37 忧伤的小毛驴 阅读(157) 评论(0) 推荐(0)
摘要:/* 基础练习 查找整数 问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。 输入格式 第一行包含一个整数n。 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。 第三行包含一个整数a,为待查找的数。 输出格式 如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。 样例输入 6 1 9 4 8 3 9 9 ... 阅读全文
posted @ 2018-03-22 13:34 忧伤的小毛驴 阅读(162) 评论(0) 推荐(0)
摘要:/* 基础练习 Huffuman树 问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。... 阅读全文
posted @ 2018-03-22 13:31 忧伤的小毛驴 阅读(236) 评论(0) 推荐(0)
摘要:算法训练 6-1 递归求二项式系数值 问题描述 样例输入 一个满足题目要求的输入范例。 3 10 样例输出 与上面的样例输入对应的输出。 数据规模和约定 输入数据中每一个数的范围。 例:结果在int表示时不会溢出。 import java.util.Scanner; public class Mai 阅读全文
posted @ 2018-03-22 13:29 忧伤的小毛驴 阅读(159) 评论(0) 推荐(0)
摘要:/* 算法训练 2的次幂表示 问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用... 阅读全文
posted @ 2018-03-22 13:26 忧伤的小毛驴 阅读(281) 评论(0) 推荐(0)
摘要:/* 基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数。 输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不... 阅读全文
posted @ 2018-03-22 13:24 忧伤的小毛驴 阅读(144) 评论(0) 推荐(0)
摘要:/* 算法提高 8皇后·改 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大。 输入格式 一个8*8的棋盘。 输出格式 所能得到的最大数字和 样例输入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35... 阅读全文
posted @ 2018-03-22 13:20 忧伤的小毛驴 阅读(164) 评论(0) 推荐(0)
摘要:/* 算法提高 最长公共子序列 问题描述 给定两个字符串,寻找这两个字串之间的最长公共子序列。 输入格式 输入两行,分别包含一个字符串,仅含有小写字母。 输出格式 最长公共子序列的长度。 样例输入 abcdgh aedfhb 样例输出 3 样例说明 最长公共子序列为a,d,h。 数据规模和约定 字串长度1~1000。 */ import java.util.Scann... 阅读全文
posted @ 2018-03-22 13:18 忧伤的小毛驴 阅读(149) 评论(0) 推荐(0)
摘要:/*算法训练 字符串变换 问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了。今天,徐老师想测试一下大家对于字符串操作的掌握情况。徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串操作,你需要根据传入的参数,按照徐老师的规定,对输入字符串进行格式转化。 阅读全文
posted @ 2018-03-22 13:16 忧伤的小毛驴 阅读(436) 评论(0) 推荐(0)
摘要:/* 算法训练 s01串 问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据规模和约定 0~19 */ import java.util.Scanner; public class Main { public static void main... 阅读全文
posted @ 2018-03-22 13:12 忧伤的小毛驴 阅读(194) 评论(0) 推荐(0)
摘要:/* 算法训练 最大体积 问题描述 每个物品有一定的体积(废话),不同的物品组合,装入背包会战用一定的总体积。假如每个物品有无限件可用,那么有些体积是永远也装不出来的。为了尽量装满背包,附中的OIER想要研究一下物品不能装出的最大体积。题目保证有解,如果是有限解,保证不超过2,000,000,000 如果是无限解,则输出0 输入格式 第一行一个整数n(n= 0; i--) {... 阅读全文
posted @ 2018-03-22 13:08 忧伤的小毛驴 阅读(281) 评论(0) 推荐(0)
摘要:/* 问题描述 算法训练 区间k大数查询 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。 输入格式 第一行包含一个数n,表示序列长度。 第二行包含n个正整数,表示给定的序列。 第三个包含一个正整数m,表示询问个数。 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。 输出格式 总共输出m... 阅读全文
posted @ 2018-03-22 11:57 忧伤的小毛驴 阅读(111) 评论(0) 推荐(0)