【Date】2013-09-19
【Author】wintys (wintys@gmail.com) http://wintys.cnblogs.com

【Content】:

1、面试题

输入一个整型数组,找出最大值、最小值,最大值与第一个元素交换,最小值与最后一个元素交换,并输出。

2、程序

public class MaxMinTest {
    public static void main(String[] args) {
        int[] a={1,7,2,4,5,3,2,5,9};
        //测试数据:
        //int[] a={4,1,7,2,4,5,9,3,5};
        //int[] a={9,3,7,2,4,5,9,3,1};
        //int[] a={1};
        
        MaxMinTest t = new MaxMinTest();
        t.printArray(a);
        t.exchange(a);
        t.printArray(a);
    }
    
    public void exchange(int a[]){
        int max = 0,min = 0;
        int len = a.length;
        
        for(int i = 0;i< len; i++){
            if(a[i] > a[max]){
                max = i;
            }
            if(a[i] < a[min]){
                min = i;
            }
        }
        
        printMaxMin(a, max, min);
        
        //先交换max,再交换min
        swap(a, max , 0);    
        
        //排除特殊情况:最小值在a[0],先交换max,最小值被交换走了,所以要追踪到最小值。
        if(min == 0){
            min = max;
        }
        
        swap(a, min , len - 1);
    }

private void swap(int[] a, int i, int j) {
        int tmp;
        tmp = a[i];
        a[i] = a[j];
        a[j] = tmp;
    }

private void printMaxMin(int[] a, int max, int min) {
        System.out.println("最大值:a[" +max+"]=" + a[max]);
        System.out.println("最小值:a[" +min+"]=" + a[min]);
    }
    
    public void printArray(int a[]){
        for(int i = 0; i < a.length;i++){
            System.out.print(a[i] + " ");
        }
        System.out.println();
    }
}

[原]Java面试题-输入一个整型数组,找出最大值、最小值,并交换。的更多相关文章

  1. 输入一个整型数组,数据元素有正数也有负数,求元素组合成连续子数组之和最大的子数组,要求时间复杂度为O(n)。

    如果不考虑时间复杂度,我们可以枚举出所有子数组并求出他们的和.不过非常遗憾的是,由于长度为n的数组有O(n2)个子数组(即:n + n-1 + ... + 1=n(n+1)/2):而且求一个长度为n的 ...

  2. 一道c++面试题 输入一个维度,逆时针打印出一个指定的矩阵

    题目:逆时针打印矩阵元素 #include <stdio.h> #include <malloc.h> int main() { int dimension; int *p; ...

  3. 整型数组与vector对象之间的相互初始化

    #include<iostream> #include<vector> #include<string> using namespace std; int main ...

  4. 输入n个字符串,找出最长最短字符串(若有个数相同的,都打印出来)

    首先,要求找到最长最短字符串,我们应该用数组将其存起来,输入的个数是不固定的,我们就可以用Scanner获取要输入的个数,最终找到的个数也不固定,我们可以封装两个方法,并且返回值类型为数组. 我遇到的 ...

  5. 在主方法中定义一个大小为50的一维整型数组,数组i名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行

    package hanqi; import java.util.Scanner; public class Test7 { public static void main(String[] args) ...

  6. [原]Java面试题-将字符串中数字提取出来排序后输出

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

  7. 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

    题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入例子 ...

  8. JAVA IP地址转成长整型方法

    JAVA IP地址转成长整型方法 代码例如以下: /** * IP转成整型 * @param ip * @return */ public static Long ip2int(String ip) ...

  9. java面试题0004-在一个类上是否可以用abstract和final同时加以修饰?

    我们先用提干两个修饰词中的任意一个创建一个类 package components.javaTest.day4_20200910; /** * Question004: * java面试题0004-在 ...

随机推荐

  1. Eclipse升级到4.4.2后界面主题更改

    在win8.1电脑上一直很喜欢eclipse luna sr1a(4.4.1)版本的界面好像是软件自动设置的. 这几天更新到eclipse luna sr2(4.4.2)版本后发现界面大变,怎么也找不 ...

  2. 关于HTML Input

    定义:<input> 标签用于搜集用户信息.Input表示Form表单中的一种输入对象. 根据不同的 type 属性值,输入字段拥有很多种形式.输入字段可以是文本字段.复选框(单/复选框) ...

  3. VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”

    升级vs2010到vs2012,突然发现build出来的应用程序无法运行,提示“不是有效的 win32 应用程序” or “not a valid win32 application”. 参考CSDN ...

  4. hdu 4192

    dfs全排列  加  模拟计算 #include <iostream> #include <cstdio> #include <cstdlib> #include ...

  5. firefly服务器间通信演示

    源地址:http://www.9miao.com/question-15-54560.html 最近好多童鞋都在问firefly几个服务器之间是如何通信的,其实在之前的distributed使用文档中 ...

  6. Object-C中emoji与json的问题

    遇到一个问题,要储存iOS键盘输出的emoji表情到MySQL,我知道用blob+utf8是可以存的.但是现在我的这张表已经太大了,不可能去改类型.所以就想把emoji表情匹配出来,替换掉,再存.但是 ...

  7. 利用link标签rel="alternate stylesheet"属性实现界面动态换肤

    rel="stylesheet"属性指定将一个样式表立即应用到文档.rel="alternate stylesheet"属性将其作为备用样式表而在默认情况下禁用 ...

  8. 174. Dungeon Game

    题目: The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dung ...

  9. [Err]1267 - Illegal mix of collations(utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’

    SELECT * FROM table_a a  where a.id NOT IN (SELECT b.id FROM table_b  b); 先将两个数据表的编码统一,如果table_a的编码为 ...

  10. 函数(Functions)

      概念: 下面是蛮经典的解释: What Good are Functions? You might have considered the situation where you would li ...