977. 有序数组的平方
coding
如果要再同一个类里使用方法,方法的关键字一定要是public static 为什么?
变量一定要先声明后用,就算for each也一样
数组的声明是这样的 int[] nums = {1,2};
for each是这样的for (int k : nums) {..} 即对于在数组中的每个k
for循环 for(初始动作;条件;每轮结束后的动作){...},注意第三个是语句块的都执行完了再执行第三个语句
class Solution { public int[] sortedSquares(int[] nums) { //输入数组,返回一个排序后的数据 //从两侧往中间,用双指针,比较左右两侧判断较大值,新建一个结果数组和指针用于存放结果 // 平方没必要用pow方法,直接乘就可以了,注意要的结果是平方后非递减,写条件的时候要靠近结果,不要迂回条件 // 因此双指针需要的左右两个指针,根据题目要求给出结果,进行存放 int i = 0; int j = nums.length-1; int[] res = new int[nums.length]; for(int k = nums.length-1;i<=j;k--){ if(nums[i] * nums[i] > nums[j]*nums[j]){ res[k] =nums[i] * nums[i]; i++; }else { res[k] = nums[j]*nums[j]; j--; } } return res; } }
二分查找 https://leetcode-cn.com/problems/binary-search/