zoukankan      html  css  js  c++  java
  • 力扣977题(有序数组的平方)

    977、有序数组的平方

    基本思想:

    双指针法

    左右指针

    具体实现:

    1、数组是有序的,但是负数平方后可能会变大

    2、数组平方后的最大值在数组的最右端或者最左端

    3、left指向数组起始位置,right指向数组终止位置

    4、定义一个和原始数组一样大的新数组result

    5、定义一个指针指向result的终止位置

    6、如果nums【left】的平方小于nums【right】的平方,result【index--】 = nums【right】的平方

    7、right往左移,left不动

    代码:

    class Solution {
        public int[] sortedSquares(int[] nums) {
            int right = nums.length -1;
            int left = 0;
            int[] result = new int[nums.length];
            int index = result.length - 1;
            while (left <= right) {
                if (nums[left] * nums[left] > nums[right] * nums[right]){
                    result[index--] = nums[left] * nums[left];
                    left++;
                }
                else{
                    result[index--] = nums[right] * nums[right];
                    right--;
                }
            }
            return result;
        }
    }
  • 相关阅读:
    通过使用 SQL,可以为列名称和表名称指定别名(Alias)
    BETWEEN 操作符
    IN 操作符
    SQL 通配符
    LIKE 操作符
    TOP 子句
    DELETE 语句
    Update 语句
    INSERT INTO 语句
    IOS SWIFT 网络请求JSON解析 基础一
  • 原文地址:https://www.cnblogs.com/zhaojiayu/p/15386385.html
Copyright © 2011-2022 走看看