给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
public int[] twoSum(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
for (int j = i + 1; j < nums.length; j++) {
if (nums[j] == target - nums[i]) {
return new int[] { i, j };
}
}
}
return null;
}
数组移除目标值返回数组长度
public static int removeElement(final int[] nums, final int val) {
int resultLen = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != val) {
nums[resultLen] = nums[i];
resultLen++;
}
}
return resultLen;
}
二维数组反转
public class Demo {
public static void main(String[] args) {
int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
System.out.println("===============");
// 分析:我们可以看出二维数组的翻转后的交换
//遍历这个二维数组
for (int i = 0; i < arr.length; i++) {
// [0][1]和[1][0]换
// [0][2]和[2][0]换
// [1][2]和[2][1]换
// 可以发现,j < i,不然就又交换回去了
for (int j = 0; j < i; j++) {
int a = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = a;
}
}
for (int[] is : arr) {
for (int i : is) {
System.out.print(i + " ");
}
System.out.println();
}
}
}
网友评论