美文网首页
吉道科技算法题

吉道科技算法题

作者: 7i昂 | 来源:发表于2019-10-14 21:50 被阅读0次

    给定一个整数数组 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();
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:吉道科技算法题

          本文链接:https://www.haomeiwen.com/subject/nmddmctx.html