笔试题
来源:互联网 发布:和网络有关的英文单词 编辑:程序博客网 时间:2024/06/05 19:10
输入一个数组大小n,步长r和数组a,
做一个操作,使得b[i]=MED(a[i], a[i+1]modn, ... a[i+r-1]modn),MED方法是返回数组排序后的中值(偶数个数的话,返回较大的那个中间值),用b[i]更新a[i],
最后 a中的各个元素都相同之后,返回a中的元素。
哎,通过了60%:
package com.yuxin.learn; import java.util.*;public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); int n=in.nextInt(); int r=in.nextInt(); int[] a=new int[n]; for(int i=0;i<n;i++){ a[i]=in.nextInt(); } int[] b=a; while(endLoop(a)==false){ for(int i=0;i<n;i++){ b[i]=MED(a,n,i,r); } for(int i=0;i<n;i++){ a[i]=b[i]; } r++; } System.out.println(a[0]); }private static int MED(int[] a,int n, int i,int r) {int[] temp = new int[r];for(int k=0;k<r;k++){int tempindex=i+k;if(tempindex>=n)tempindex=tempindex%n;temp[k]=a[tempindex];}Arrays.sort(temp);return temp[temp.length/2];}private static boolean endLoop(int[] a) {int sum=0;for(int i=1;i<a.length;i++){if(a[i]!=a[0])sum++;}if(sum==0)return true;else return false;}}
0 0
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- 笔试题
- [数据结构]抽象数据类型&算法
- Oracle安装INS-30131解决办法
- HDU 5533 2015ACM-ICPC长春赛区现场赛G题
- Android实现带动画效果的自定义View
- SUSE安装SaltStack后的pam认证问题
- 笔试题
- Wordpress自带的Widgets及其类名
- POJ 2135 Farm Tour and HDU 1853 Cyclic Tour(费用流初运用)
- 安装ubuntu16.04+cuda8.0+caffe+python+matlab+opencv3.0
- java博客开篇
- appium学习(2)-简单示例
- 关于app的几个核心功能的设计想法
- 文件操作
- python中os.path模块下的函数总结