编程之美2.17数组循环移位Java版
来源:互联网 发布:南风知我意温南txt 编辑:程序博客网 时间:2024/06/05 05:13
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */package Test;import java.util.Arrays;/** * * 2.17 数组循环移位 */public class ReverseArray { public static void main(String[] args) { int[] array = new int[]{1,2,3,4,5,6,7,8}; //解法一 int[] a1 = reverse_array1(array,array.length,6); System.out.println(Arrays.toString(a1)); //解法二 int[] array2 = new int[]{1,2,3,4,5,6,7,8}; int[] a2 = reverse_array2(array2,array2.length,6); System.out.println(Arrays.toString(a2)); //解法三 多用了一个数组的办法,附件变量超过两个 int[] array3 =new int[]{1,2,3,4,5,6,7,8}; int[] a3 = reverse_array3(array3,array3.length,6); System.out.println(Arrays.toString(a3)); } private static int[] reverse_array1(int[] array,int n ,int k) { k %=n; while(k>0){ int t = array[n-1]; for(int i =n-1;i>0;i--) array[i]=array[i-1]; array[0] = t; k--; } return array; } private static int[] reverse_array2(int[] array, int n, int k) { k %=n; reverse(array,0,n- k-1); reverse(array,n-k,n-1); reverse(array,0,n-1); return array; } private static void reverse(int[] array, int b, int e) { for(;b<e;b++,e--){ int tmp = array[e]; array[e] = array[b]; array[b] = tmp; } } private static int[] reverse_array3(int[] array, int n, int k) { k %=n; int[] a = new int[n]; for(int i =0;i<n;i++){ int num = i+k>=n?((i+k)%n):(i+k); a[num] = array[i]; } return a; }}
0 0
- 编程之美2.17数组循环移位Java版
- 编程之美2.17 数组循环移位
- 编程之美2.17 数组循环移位
- [编程之美2.17]数组循环移位
- 编程之美2.17 数组循环移位
- 编程之美 2.17 数组循环移位
- 编程之美2.17 数组循环移位
- 编程之美-2.17 数组移位循环
- 读书笔记之编程之美 - 2.17 数组循环移位
- 编程之美2.17之数组循环移位
- 编程之美--数组循环移位
- 数组循环移位(编程之美)
- 编程之美_012数组循环移位
- 编程之美-数组循环移位
- 编程之美 数组循环移位
- 编程之美--数组循环移位
- 编程之美--数组循环移位
- 编程之美6:数组循环移位
- 拨号盘在下拉通话界面弹出
- 请求自己服务器上的图片
- 【音乐编程】基础知识一
- QQ安全问答
- centos升级python
- 编程之美2.17数组循环移位Java版
- 【转】console.log 用法
- [Leetcode]66. Plus One
- CCU(网络游戏用语)的解释
- Spark实战----(1)使用Scala开发本地测试的Spark WordCount程序
- CSS实现三栏式布局
- MyBatis处理表与表之间的关系
- 前端性能优化:创建对象二
- Intersection of Two Arrays II