天天看點

力扣每日一練之雙指針1Day8

力扣每日一練之雙指針1Day8

🍕前面的話🥞

大家好!本篇文章将介紹20天算法刷題計劃的題,本文将以兩道題作為背景,介紹經典的雙指針,展示語言為java(部落客學習語言為java)。今天呢,是部落客開始刷力扣的第五天,如果有想要開始準備自己的算法面試的同學,可以跟着我的腳步一起,共同進步。大家都是并肩作戰的夥伴,一起努力奮力前行,路漫漫其修遠兮,吾将上下而求索,相信我們一定都可以拿到自己期望的offer,沖沖沖!

👩‍💻部落格首頁:京與舊鋪的部落格首頁

✨歡迎關注🖱點贊🎀收藏⭐留言✒

🔮本文由京與舊鋪原創

😘系列專欄:java學習

💻首發時間:🎞2022年5月11日🎠

🎨你做三四月的事,八九月就會有答案,一起加油吧

🔏參考線上程式設計網站:🎧力扣

🀄如果覺得部落客的文章還不錯的話,請三連支援一下部落客哦

🎧最後的話,作者是一個新人,在很多方面還做的不好,歡迎大佬指正,一起學習哦,沖沖沖

💬推薦一款模拟面試、刷題神器👉​​​點選進入網站​​

🏓導航小助手📻

文章目錄

  • ​​力扣每日一練之雙指針1Day8​​
  • ​​@[toc]​​
  • ​​👡Leetcode 977.有序數組的平方​​
  • ​​🦺解題思路​​
  • ​​🥼源代碼​​
  • ​​⛸Leetcode189.輪轉數組​​
  • ​​🩳解題思路​​
  • ​​🎱源代碼​​
  • ​​🌌總結​​
  • ​​覺得文章寫的不錯的親親,點贊評論關注走一波,愛你們哦🛴​​
力扣每日一練之雙指針1Day8

👡Leetcode 977.有序數組的平方

給你一個按 非遞減順序 排序的整數數組 nums,傳回 每個數字的平方 組成的新數組,要求也按 非遞減順序 排序。

示例 1:

輸入:nums = [-4,-1,0,3,10]
輸出:[0,1,9,16,100]
解釋:平方後,數組變為 [16,1,0,9,100]
排序後,數組變為 [0,1,9,16,100]
示例 2:

輸入:nums = [-7,-3,2,3,11]
輸出:[4,9,9,49,121]      

🦺解題思路

最簡單的方法就是将數組 \textit{nums}nums 中的數平方後直接排序。

🥼源代碼

class Solution {

  public int[] sortedSquares(int[] nums) {

    int[] ans=new int[nums.length];

    for(int i=0;i<nums.length;i++){

      ans[i]=nums[i]*nums[i];

    }

    Arrays.sort(ans);

    return ans;

  }

}      

⛸Leetcode189.輪轉數組

給你一個數組,将數組中的元素向右輪轉 k 個位置,其中 k 是非負數。

示例 1:

輸入: nums = [1,2,3,4,5,6,7], k = 3
輸出: [5,6,7,1,2,3,4]
解釋:
向右輪轉 1 步: [7,1,2,3,4,5,6]
向右輪轉 2 步: [6,7,1,2,3,4,5]
向右輪轉 3 步: [5,6,7,1,2,3,4]
示例 2:

輸入:nums = [-1,-100,3,99], k = 2
輸出:[3,99,-1,-100]
解釋: 
向右輪轉 1 步: [99,-1,-100,3]
向右輪轉 2 步: [3,99,-1,-100]      

🩳解題思路

我們可以使用額外的數組來将每個元素放至正确的位置。用 nn 表示數組的長度,我們周遊原數組,将原數組下标為 ii 的元素放至新數組下标為 (i+k)\bmod n(i+k)modn 的位置,最後将新數組拷貝至原數組即可。

🎱源代碼

class Solution {
    public void rotate(int[] nums, int k) {
          int len=nums.length;
          int[] ans=new int[len];
          for(int i=0;i<len;i++){
              int index=i+k;
              while(index>=len){
                  index-=len;

              }
              ans[index]=nums[i];
          }
          for(int i=0;i<len;i++){
              nums[i]=ans[i];
          }
    }
}      

🌌總結

覺得文章寫的不錯的親親,點贊評論關注走一波,愛你們哦🛴