中国电信翼支付2014编程大赛决赛之我的见解(如果有误,望指证)

如果有误,希望可以给我留言,谢谢。

题目详情(只限Java)

给定一串整数,你只能进行两种操作:任选一个整数放到这串数之前,或者这串之后。所有的整数都不相等。

问把这串整数变为由小到大的排好序最少需要的操作次数。

输入格式:

多组数据,每组数据1行,包含若干个空格分隔的非负整数,每个整数不超过2147483647。

输出格式:

每组数据输出一行包含一个整数,表示需要最少操作的次数。

答题说明

输入样例

1 2 3

1 4 2

10 2 1

输出样例:

0

1

2

算法解析:

长度即原数组的(子序列)和排好序的数组的(连续子序列)相同的序列的最长长度。

import java.util.Scanner;

public class Paixu {
	public static void main(String[] argv ){

		Scanner br =new Scanner(System.in);
		String[] k;
		k = new String[100];
		int num=0; 

		// 获取多行输入  数字间用空格隔开  行数小于100

		do {
		    k[num] = br.nextLine();
		    if (k[num].equals("")) {
		     break;
		    }
		    num++;
		} while(true);
		br.close();

		for(int i=0;i<num;i++){
			int max=1;
			String[] sf=k[i].split(" ");
			int[] s,e;
			s=new int[sf.length];
			e=new int[sf.length];

			// 把获取的每一行字符转化成int数组 e[] s[];两个数组相同。

			for(int m=0;m<sf.length;m++){
				s[m]=Integer.parseInt(sf[m]);
				e[m]=Integer.parseInt(sf[m]);
			}      

			//冒泡排序  数组s[]
			for(int j=0;j<sf.length-1;j++){
				for(int p=0;p<sf.length-1-j;p++){
					if(e[p]>e[p+1])
					{
						int tmp=e[p];
						e[p]=e[p+1];
						e[p+1]=tmp;
					}

				}
			}

			//把排好序的数组  e[]每个值在原数组s[]中的序号 赋给自己
			for(int j=0;j<sf.length;j++){

				for(int p=0;p<s.length;p++){

					if(e[j]==s[p])
						{
						e[j]=p;
						break;
						}
				}
			}
			int temp=1;

			//把e[]中的最长连续增长序列的长度 赋给 max
			for(int j=0;j<e.length-1;j++){

				if(e[j+1]>e[j])
					temp++;
				else
					temp=0;
				if(temp>max)
					max=temp;
			}
			int out=e.length-max;
			System.out.println("The minimum change: "+out);

		}

	}

}

 效果演示:

 

时间: 2024-11-05 16:10:42

中国电信翼支付2014编程大赛决赛之我的见解(如果有误,望指证)的相关文章

中国电信翼支付2014编程大赛决赛-一种排序 个人解题过程

首先需要表明的是我在时限内想到这个解法,但是这个解法被判错,而我也想不到反例.赛后咨询举办方的时候,他们表示过几天会发测试数据给我们.所以今天就先把思路和代码先放上来,过几天收到数据再看看到底哪里错了. 如果有读者想到相应的反例,希望可以给我留言,谢谢. 题目详情(只限Java) 给定一串整数,你只能进行两种操作:任选一个整数放到这串数之前,或者这串之后.所有的整数都不相等. 问把这串整数变为由小到大的排好序最少需要的操作次数. 输入格式: 多组数据,每组数据1行,包含若干个空格分隔的非负整数,

CSDN 中国电信翼支付2014编程大赛复赛 修改数列(LIS)

题目意思:51nod1294 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1294 给出一个整数数组A,你可以将任何一个数修改为任意一个正整数,最终使得整个数组是严格递增的且均为正整数.问最少需要修改几个数? Input 第1行:一个数N表示序列的长度(1 <= N <= 100000). 第2 - N + 1行:每行1个数,对应数组元素.(0 <= A[i] <= 10^9) Output 输出最少需

中国电信翼支付网关接口接入

最近在做中国电信的翼支付网关接口的接入,正好拿Java练练手.到目前为止,唯一不太适应的就是自己的Java积累几乎为0,什么都要重头写起,不像C#有这么多年的沉淀,可以随手拿来用.   废话先不多说.这个支付接口就和支付宝差不多,无非就是把一些必要的数据参数,POST到指定的接口地址,然后接收它返回的支付结果.接口没有什么复杂的逻辑处理,所以可以直接采用JSP+Servlet+JDBC来做简单处理.对于WEB支付请求的发起,可以从JSP把用户输入或选择的相关数据传到Servlet,然后在Serv

记2014“蓝桥杯全国软件大赛&quot;决赛北京之行

5月29,30日 终于到了这一天.晚上有数据结构课,10点多的火车,我们就没有去上课,下午在宿舍里收拾东西,晚上8点左右从南校出发,9点半多到达火车站和老师学长学姐们会和. 第一次去北京,第一次买的卧铺,真的很兴奋.对这次北京之行满满的都是期待.卧铺,躺在上面很舒服,因为第一次,不知道还需要换票,就把票放在包里了,找了一会才找到,看来还是得把票随身带着.卧铺晚上熄灯,我看了一部电影,然后就睡着了,一觉睡到五点多.上午看了看模板,这次蓝桥杯决赛说实话没有怎么认真的准备,做的题也比较少.把一些小的知

2014第六届华为编程大赛初赛第一轮

/*********************************************************************** 1.投票问题 输入若干候选人,以及投票,格式如下,输出(按输入候选人输入顺序)候选人以及得票,以及 无效票数. Input: addCandidate xx1 addCandidate xx2 addCandidate xx3 addCandidate xx4 addCandidate xx5 addCandidate xx6 vote xx2 vot

2014第六届华为编程大赛初赛第四轮

/*********************************************************************** 第一题 求n个整数的最大公约数 输入 第一行: n个整数 第二行:各个整数 以空格隔开 输出:公约数 例子: input: 4 10 15 20 25 output: 5 **********************************************************************/ #include <stdio.h>

第六届华为创新杯编程大赛第二轮(2014.4.29)

第一题:外星人比数的大小 来自星星的都教授除了所有感官比地球人高出七倍,始终容颜不老以外,还拥有一项在地球人看来特别神奇的能力,他会瞬间(0.00000000000000000000001s以内)按照他的规则比较地球人熟悉的两个十进制数字的大小,他比较的规则如下:1.将要比较的两个数字分别转换成二进制数字:2.计算两个二进制数字中1的个数,个数多的数字为两者中的大者:3.负数按照其绝对值进行比较:请利用地球人发明的计算机程序逼近都教授的特异功能,实现时可以有以下约束:1.输入数据为范围在-327

【结果发布】第六届SeedCoder编程大赛初赛结果发布

微软俱乐部科技文化月seedcoder2014编程大赛已经初审完成. 评审小组选出最棒的作品进入决赛(现场答辩+陈述环节,由评委现场打分).终于排名由"初赛分数+现场答辩分"决定. 决赛答辩时间为:2014年4月20日(本周日)  晚上19:00     有讲座票派发 地点: 34号楼103教室 以下为初赛结果(依据队名排序): 算法组获奖的队伍名单 队伍 学院 年级 奖项 YOLO 计算机科学与project学院 大二 參加答辩 aaaaaa 软件学院 大三 參加答辩 mg 软件学院

关于2014博文大赛

写了5篇文章.其中3篇初赛,其中两篇进了决赛,另外1篇忘记微博推广了,导致网友投票没有超过50.决赛的两篇文章,第一篇我准备了挺久,虽然文字性的东西较多,但是如果仔细读的话,相信对大家会有所帮助.另外一篇写的仓促,在这里感谢各位投票的网友了. 现在关注我博客的CSDN用户也超过200位了,想到这里诚惶诚恐,希望能够分享更多的干货,和大家一起进步. 喜欢夜深人静码字,码码的感觉.尤其是,身旁睡着你最亲爱的两个人. 关于2014博文大赛,布布扣,bubuko.com