
算法
文章平均质量分 70
文宇
这个作者很懒,什么都没留下…
展开
-
程序存储问题
设有n个程序{1,2,3,…,n}要存放在长度为L的磁带上。程序i存放在磁带上的长度是li,1≤i≤n。要求确定这n个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。输入数据中,第一行是2个正整数,分别表示程序文件个数和磁带长度L。接下来的1行中,有n个正整数,表示程序存放在磁带上的长度。输出为最多可以存储的程序个数。输入数据示例6 502 3 13 8 80 20原创 2015-04-30 19:03:20 · 737 阅读 · 0 评论 -
Java练习题(三)
任务1: 写两个方法,其中一个方法可以把某个整数插入到整型数组的特定位置,数组中原有元素向后移动;另一个方法能够从整形数组中特定位置删除掉一个元素,数组中原有元素向前移动public class InsertDeleteArray { static int[] arrayCopy;//保存原有数据 /** * @param array 原数组 * @param inde原创 2015-07-25 16:41:58 · 1379 阅读 · 0 评论 -
Java练习题(一)
1. 用户输入一个整数,请输出该整数的阶乘 例如:5!= =120class Factorial{ /** * @param args */ public static void main(String[] args){ int num;//整数 int total = 1;//阶乘结果原创 2015-07-23 21:22:27 · 650 阅读 · 0 评论 -
m个工厂分的n个资源,使获得利润最大(动态规划)
import java.util.Scanner;public class Interest { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int i,j,k; int m;//工厂个数 int n;//资源个数 int rest;// in原创 2015-05-31 02:17:49 · 3240 阅读 · 0 评论 -
数塔问题
给定一个数塔,其存储形式为如下所示的下三角矩阵。在此数塔中,从顶部出发,在每一节点可以选择向下走还是向右走,一直走到底层。请找出一条路径,使路径上的数值和最大。输入样例(数塔):912 15 10 6 82 18 9 519 7 10 4 16输出样例(最大路径和):59import java.util.Scann原创 2015-05-31 02:12:17 · 1640 阅读 · 0 评论 -
金块问题
老板有一袋金块(共n块,n是2的幂(n≥2)),最优秀的雇员得到其中最重的一块,最差的雇员得到其中最轻的一块。假设有一台比较重量的仪器,希望用最少的比较次数找出最重和最轻的金块。并对自己的程序进行复杂性分析。public class MaxMinGold { public void search_Max_Min(int gold [],int a[],int left,int r原创 2015-05-31 02:10:17 · 2694 阅读 · 0 评论 -
输出如下所示矩阵
1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 public class Algorithm { public static void main(String[] args) { int k = 1; int n; Scanner scanner = new Scanner(System.原创 2015-05-31 02:15:14 · 927 阅读 · 0 评论 -
最长单调递增子序列问题
设计一个O(n2)复杂度的算法,找出由n个数组成的序列的最长单调递增子序列。public class LIS { //测试数据1:3, 8, 10, 4, 12, 5, 6, 8 //测试数据1:5, 2, 4, 6, 5, 1, 8 //测试数据1:3, 8, 9, 10, 11, 4, 12, 5, 6, 8 int [] a = new int[]{5, 2, 4, 6, 5,原创 2015-05-31 02:14:54 · 729 阅读 · 0 评论 -
二分搜索算法
二分搜索算法设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素的位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。并对自己的程序进行复杂性分析。public class IJ { public int Serach(int a[] ,int x,int left,int ri原创 2015-05-31 02:10:24 · 1475 阅读 · 0 评论 -
会场安排问题
假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法来进行安排。试编程实现对于给定的k个待安排活动,计算使用的最少会场。输入数据中,第一行是k的值,接下来的k行中,每行有2个正整数,分别表示k个待安排活动的开始时间和结束时间,时间以0点开始的分钟计。输出为最少的会场数。输入数据示例51 2312 2825 3527 8036 50输出原创 2015-04-30 19:01:01 · 556 阅读 · 0 评论 -
用分治算法编程实现两个n位十进制大整数的乘法运算
首先在这里声明,请原谅我,各位伙计,我的大整数乘法并不是真正意义的大整数乘法,因为采用了int保存,并且对位数还有限制,必须实2的幂(2位4位能正常计算)。没有实现负数的运算。本程序采用Java语言实现(比较好处理字符串),如果想要实现负数的话可以先将符号位提取,判断结果是正还是负,最后在连接两个正数相乘的结果。我将提取正负号的代码注释了。原理如下,时间复杂度为O(nlog3) =原创 2015-04-16 18:01:10 · 8655 阅读 · 0 评论 -
硬币找钱问题
/** * *设有6种不同面值的硬币, *各硬币的面值分别为5分、1角、2角、5角、1元和2元。 *现在要用这些面值的硬币来购物和找钱。 *购物时可以使用的各种面值的硬币个数存于数组Coins[1:6]中, *假设商店里各面值的硬币有足够多。对于给定的付款金额, *计算使用硬币个数最少的交易方案。 *输入数据的每一行有6个整数和一个有2位小数的实数, *分别表原创 2015-04-30 18:58:27 · 1886 阅读 · 0 评论 -
Java练习题(二)
1. 如果一个数等于其所有因子之和,我们就称这个数为"完数",例如 6的因子为1,2,3 6=1+2+3 6就是一个完数.请编程打印出1000以内所有的完数public class Wanshu { public static int [] wanshu(int n){ int [] ws = new int[3]; int count = 0;原创 2015-07-25 16:32:14 · 794 阅读 · 0 评论