zoukankan      html  css  js  c++  java
  • 【剑指offer】调整数组数字位置

    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

    *思路:遍历数组,找到第一个偶数的位置 i ,然后以此位置为起点,找到后续第一个奇数的位置 j,然后保存下 array[j], 并将索引为[i, j-1]的元素全部后移一位,最后将array[i]置为之前保存的array[j]

     1 public class Solution {
     2    public void reOrderArray(int [] array) {
     3             for(int i=0; i<array.length; i++){
     4                 if(array[i]%2 ==0){
     5                     for(int j=i; j< array.length; j++){
     6                         if(array[j]%2!=0){
     7                             int temp = array[j];
     8                             //将数组下标为i到j-1的元素后移一位
     9                             for(int k=j;k>i;k--){
    10                                 array[k] = array[k-1];
    11                             }
    12                             //将发现的奇数放到正确的位置
    13                             array[i] = temp;
    14                             break;
    15                         }
    16                     }
    17                 }
    18             }
    19            
    20         }
    21 }
  • 相关阅读:
    网站微信登录-python 实现
    最终还是迁移到github
    理解 python 装饰器
    Git 学习之 Git Basics
    haskell 常用 函数
    jinja 2 filter 使用
    目标的牵引作用
    姨妈去世了
    OKR的理解
    无法证明的事情,和梦又有什么区别呢
  • 原文地址:https://www.cnblogs.com/singular/p/10025677.html
Copyright © 2011-2022 走看看