自己做局域网站,友链交换,免费申请手机号,建设通网站官网登录1、旋转数组
public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 旋转数组* param n int整型 数组长度* param m int整型 右移距离* param a int整型一维数组 给定数组* return int整型一维数组*/…
1、旋转数组
publicclassSolution{/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** 旋转数组* @param n int整型 数组长度* @param m int整型 右移距离* @param a int整型一维数组 给定数组* @return int整型一维数组*/publicint[] solve (int n,int m,int[] a){int left =0;int right = n -1;swap(left, right, a);// 在将0 到 m-1 交换left =0;right =(m -1)% n;swap(left, right, a);// 在将0 到 m-1 交换left = right +1;right = n -1;swap(left, right, a);return a;}privatevoidswap(int left,int right,int[] a){while(left < right){int temp = a[left];a[left]= a[right];a[right]= temp;left ++;right --;}}}
2、 螺旋矩阵
publicArrayList<Integer> spiralOrder (int[][] matrix){ArrayList res =newArrayList();if(matrix ==null|| matrix.length ==0){return res;}int l =0;int t =0;int r = matrix[0].length -1;int d = matrix.length -1;while(l <= r && t <= d){for(int i = l; i <= r; i++){res.add(matrix[t][i]);}t++;if(t > d){break;}for(int i = t; i <= d; i++){res.add(matrix[i][r]);}r--;if(l > r){break;}for(int i = r; i >= l; i--){res.add(matrix[d][i]);}d--;if(t > d){break;}for(int i = d; i >= t; i--){res.add(matrix[i][l]);}l++;if(l > r){break;}}return res;}