免费网站软件app,网站需要哪些备案,免费响应式网站,宁波免费建站一、创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100
代码实现 public static void main(String[] args) {int[] arrnew int[100];for (int i 0; i arr.length; i) {arr[i]i1;}System.out.println(Arrays.toString(arr));}
运行结果 二、改变…一、创建一个 int 类型的数组, 元素个数为 100, 并把每个元素依次设置为 1 - 100
代码实现 public static void main(String[] args) {int[] arrnew int[100];for (int i 0; i arr.length; i) {arr[i]i1;}System.out.println(Arrays.toString(arr));}
运行结果 二、改变原有数组元素的值
实现一个方法 transform, 以数组为参数, 循环将数组中的每个元素 乘以 2 , 并设置到对应的数组元素上. 例如 原数组为 {1, 2, 3}, 修改之后为 {2, 4, 6}
思路
传入数组得到数组长度将数组长度赋值给新数组长度用数组长度进行遍历将数组中每一个元素赋值给新数组的元素最后返回新数组
代码实现 public static int[] transform(int arr[]){int n arr.length;int arr2[]new int[n];for (int i 0; i n; i) {arr2[i]arr[i]*2;}return arr2;}public static void main(String[] args) {int arr[]{3,5,7,9};int arr2[]transform(arr);System.out.println(Arrays.toString((arr2)));}
运行结果 三、数组所有元素之和
实现一个方法 sum, 以数组为参数, 求数组所有元素之和.
思路
定义一个变量将数组进行遍历将数组遍历得到的值加给定义的变量返回变量
代码实现 public static int[] transform(int arr[]){int n arr.length;int arr2[]new int[n];for (int i 0; i n; i) {arr2[i]arr[i]*2;}return arr2;}public static void main(String[] args) {int arr[]{3,5,7,9};int arr2[]transform(arr);System.out.println(Arrays.toString((arr2)));}
运行结果 四、调整数组顺序使得奇数位于偶数之前。调整之后不关心大小顺序。
如数组[1,2,3,4,5,6] 调整后可能是[1, 5, 3, 4, 2, 6]
思路
遍历数组定义ij下标如果i下标遇到的对应元素为奇数i往后走j下标遇到的对应元素是偶数j往前走
代码实现 public static void reorder(int[] array){int i 0;int j array.length-1;while (i j) {while (i j array[i] % 2 ! 0) {i;//如果i下标遇到的对应元素为奇数i则往后走}while (i j array[j] % 2 0) {j--;//如果j下标遇到的对应元素为偶数j则往前走}int tmp array[i];array[i] array[j];array[j] tmp;}}public static void main(String[] args) {Scanner scnew Scanner(System.in);System.out.println(请您输入数组的长度);int nsc.nextInt();int[] arraynew int[n];System.out.println(请您输入数组的值);for (int i 0; i array.length; i) {array[i]sc.nextInt();}reorder(array);System.out.println(Arrays.toString(array));}
运行结果 五、两数之和
给定一个整数数组 nums 和一个整数目标值 target请你在该数组中找出 和为目标值 target 的那 两个 整数并返回它们的数组下标。
思路
遍历数组元素当数组元素与给出的目标值相等时返回该数组元素下标
代码实现 public static int[] Nums(int[] nums,int target){for (int i 0; i nums.length; i) {for (int j i1; j nums.length; j) {if(nums[i]nums[j]target){return new int[]{i,j};}}}return null;}public static void main(String[] args) {Scanner scnew Scanner(System.in);System.out.println(请您输入数组的长度);int nsc.nextInt();int[] numsnew int[n];System.out.println(请您输入数组的值);for (int i 0; i n; i) {nums[i]sc.nextInt();}System.out.println(请您输入一个数);int target sc.nextInt();int[] arr Nums(nums, target);System.out.println(Arrays.toString(arr));}运行结果 六、只出现一次的数字
给定一个非空整数数组除了某个元素只出现一次以外其余每个元素均出现两次。找出那个只出现了一次的元素。
思路
遍历数组通过异或^运算返回元素因为只有一个元素只出现一次以外其余元素都出现两次所以进行遍历因为a^a0,异或卡在哪里,则哪个元素位置在哪里
异或运算的特点
1.任何数和0做异或运算结果还是原来那个数字即a^0a
2.任何数和本身做异或运算结果为0即a^a0
3.异或运算满足交换律和结合律
代码实现 public static void main(String[] args) {int arr[]{0};Scanner scnew Scanner(System.in);int n sc.nextInt();arrnew int[n];for (int i 0; i n; i) {arr[i] sc.nextInt();}int numNum(arr);System.out.println(num);}public static int Num(int[] arr) {int num 0;int length arr.length;for (int i 0; i length; i) {num ^ arr[i];}return num;}
运行结果 七、多数元素
给定一个大小为 n 的数组找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的并且给定的数组总是存在多数元素。
思路
传定数组通过for循环定义变量对每一个数再for循环进行遍历如果有重复的数则再加一最后判定重复的次数是否大于数组长度的一半如果是则返回这个重复的数
代码实现 public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] arr {0};arr new int[n];System.out.println(请输入数组元素(多数元素));for (int i 0; i arr.length; i) {arr[i] sc.nextInt();}int newnum MoreNum(arr);System.out.println(newnum);}public static int MoreNum(int[] arr) {int count 0;for (int i 0; i arr.length; i) {for (int j 0; j arr.length; j) {if (arr[i] arr[j]) {count;}if (count arr.length / 2) {return arr[i];}}}return -999;}
运行结果 八、存在连续三个奇数的数组
给你一个整数数组 arr请你判断数组中是否存在连续三个元素都是奇数的情况如果存在请返回 true 否则返回 false 。
思路
遍历数组如果遇到数目是奇数则判断它的下一个和下下个数目是不是奇数如果是则返回true如果不存在则返回false
代码实现 public static boolean Judge(int[] arr) {for (int i 0; i arr.length - 2; i) {if (arr[i] % 2 1) {if (arr[i 1] % 2 1) {if (arr[i 2] % 2 1) {return true;}}}}return false;}public static void main(String[] args) {Scanner scnew Scanner(System.in);System.out.println(请您输入数组存储个数);int n sc.nextInt();int[] arr;arrnew int[n];System.out.println(请您输入数组元素);for (int i 0; i arr.length; i) {arr[i] sc.nextInt();}boolean aJudge(arr);System.out.println(Judge(arr));}
运行结果