codewars记录 数组

基础方法:数组排序、打印

//将一根int数组里的奇数从小到大排序,偶数在原来的位置不动

//判断一个字符串数组里的字符串是不是笑脸表情(笑脸表情包括眼睛【】:;】鼻子【】-~】嘴【)D】)眼睛和嘴是必须的,鼻子可有可无

//将一根int数组里的奇数从小到大排序,偶数在原来的位置不动

public static int[] sortArray(int[] array) {

  int[] oddnumber = new int[array.length];

  int[] num = new int[array.length];

  int a=0;

  for(int i=0;i

  if(array[i]%2 == 0){

  }else{

  oddnumber[a] = array[i]; 

  num[a]=i;

  a+=1;

  }

  }

  SelectionSort(num,num.length);

  SelectionSort(oddnumber,oddnumber.length);

  for(int i=num.length-1;i>0;i--){

  if(num[i]!=0||num[i+1]!=0&&oddnumber[i]!=0){

  int b = num[i];

  array[b] = oddnumber[i];}

  }

    return array;

  }

//计算一个字符串数组中笑脸的数量

public static int countSmileys(List arr) {

      // Just Smile :)

  int res=0;

  for (int i = 0; i < arr.size(); i++){

        System.out.print(arr.get(i) +",");

        char[] str = arr.get(i).toCharArray();

        char st = str[0];

        if(st==':' || st==';'){

        if(str[1]=='-'||str[1]=='~'){

        if(str[2]==')'||str[2]=='D'){

       if(str.length==3){

        res++;

        }else{}

        }else{}

        }else if(str[1]==')'||str[1]=='D'){

        if(str.length==2){

        res++;

        }else{}

        }else{}

        }

        System.out.print(st +"  ");

    }

  System.out.print(res +"  ");

      return 0;

  }

按顺序打印数组

public static void printarray(int[] array){//

  for (int i = 0; i < array.length; i++)

    {

        System.out.print(array[i]+",");

    }

  System.out.println("");

  }

交换数组元素

  static void Swap(int A[], int i, int j)//

  {

      int temp = A[i];

      A[i] = A[j];

      A[j] = temp;

  }

从小到大排序数组

  static void SelectionSort(int A[], int n){//

      for (int i = 0; i < n - 1; i++){

          int min = i;

          for (int j = i + 1; j < n; j++){

              if (A[j] < A[min]) {

                  min = j;

              }

          }

          if (min != i){

              Swap(A, min, i);

          }

      }

  }

你可能感兴趣的:(codewars记录 数组)