酷站,建设公司的网站首页,什么软件比百度搜索好,万能浏览器app题目 题解一#xff1a;开辟数组 取模运算寻找位置(ik)mod n 新位置
思路#xff1a;通过#xff0c;开辟数组 取模运算寻找新位置------位置(ik)mod n 新位置
int[] newNums new int[nums.length];for(int i 0;inums.length;i){newNums[(ik)%nums.length] nums[i…题目 题解一开辟数组 取模运算寻找位置(ik)mod n 新位置
思路通过开辟数组 取模运算寻找新位置------位置(ik)mod n 新位置
int[] newNums new int[nums.length];for(int i 0;inums.length;i){newNums[(ik)%nums.length] nums[i];}for(int i 0;inums.length;i){nums[i] newNums[i];}题解二数组翻转
思路 1、先全部翻转 2、在根据k 的值 对k-1 的两边区域进行翻转 3、注意 k如果 数组长度 就会出现下标越界所以需要开始就k对数组长度取模 k %n // 方法二 数组翻转// k 3 n7 1 2 3 4 | 5 6 7// 7 6 5 | 4 3 2 1全部翻转// 5 6 7 | 1 2 3 4以k-1为界分开翻转int length nums.length;k % length;//这一步很关键如果klenght 会出现数组下标越界问题所以需要取模revese(0,length-1,nums);revese(0,k-1,nums);revese(k,length-1,nums);}public void revese(int begin,int end,int[] nums) {while(begin end){int temp nums[begin] ;nums[begin] nums[end];nums[end] temp;begin ;end --;}