• InterviewProblems


     1 package com.xiaoysec;
     2 
     3 /**
     4  * 下面是面试趣医网技术面的时候出现的一个简单的题目 题目的要求是将一个数组中的奇数和偶数进行分离 以奇数在前一部分为例进行解题
     5  * 算法的主要思想是双指针法对前后两个元素进行奇偶判断
     6  * 
     7  * @author xiaoysec
     8  *
     9  */
    10 public class Sort {
    11     // 完成数组奇偶数的
    12     public void split(int[] arr) {
    13         int temp = 0;
    14         for (int i = 0, j = arr.length-1; i <= j;) {
    15             // 左边是奇数 右边是偶数的情况
    16             if ((jishu(arr[i])) == 1 && (jishu(arr[j])) == 0) {
    17                 i++;
    18                 j--;
    19             }
    20             // 左边是奇数 右边是奇数
    21             if ((jishu(arr[i])) == 1 && (jishu(arr[j])) == 1) {
    22                 i++;
    23             }
    24             // 左边是偶数 右边是奇数
    25             if ((jishu(arr[i]) == 0) && (jishu(arr[j])) == 1) {
    26                 temp = arr[i];
    27                 arr[i] = arr[j];
    28                 arr[j] = temp;
    29                 i++;
    30                 j--;
    31             }
    32             // 两边都是偶数
    33             if ((jishu(arr[i])) == 0 && (jishu(arr[j])) == 0) {
    34                 j--;
    35             }
    36         }
    37 
    38     }
    39 
    40     // 奇偶数判断函数
    41     public int jishu(int k) {
    42         if (k % 2 == 0)
    43             return 0;
    44         else
    45             return 1;
    46     }
    47 
    48     public static void main(String[] args) {
    49         int[] arr = new int[] {4,6,8,0,1,3,7};
    50         System.out.println("before sort:");
    51         for (int i : arr) {
    52             System.out.print(i + " ");
    53         }
    54         System.out.println();
    55         Sort s = new Sort();
    56         s.split(arr);
    57         System.out.println("after sort:");
    58         for (int i : arr) {
    59             System.out.print(i + " ");
    60         }
    61     }
    62 
    63 }
  • 相关阅读:
    .net面试题目问答题2
    .net面试题目问答题1
    .net面试题目101-130
    .net面试题目51-100
    .net面试题目1-50
    试题
    2014奇虎360研发类校园招聘面试题分享
    JAVA基础
    JAVA中集合的继承关系
    美团
  • 原文地址:https://www.cnblogs.com/xiaoysec/p/5267107.html
Copyright © 2020-2023  润新知