代码随想录算法训练营

Day 01 | 704. 二分查找、27. 移除元素

  •  今日学习的文章链接和视频链接
  •  自己看到题目的第一想法
  •  看完代码随想录之后的想法 
  •  自己实现过程中遇到哪些困难 
  •  今日收获,记录一下自己的学习时长

Day 02 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

 977.有序数组的平方 

题目建议: 本题关键在于理解双指针思想 

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

文章讲解:代码随想录

视频讲解: 双指针法经典题目 | LeetCode:977.有序数组的平方_哔哩哔哩_bilibili

class Solution {
public:
    vector<int> sortedSquares(vector<int>& nums) {
        int leftIndex = 0;
        int rightIndex = nums.size()-1;

        auto nums_out = nums;
        int i = 1;

        while(leftIndex<=rightIndex){
            if (nums[leftIndex]*nums[leftIndex] > nums[rightIndex]*nums[rightIndex]){
                nums_out[nums.size()-i] = nums[leftIndex]*nums[leftIndex];
                i++;
                leftIndex++;
            }else{
                nums_out[nums.size()-i] = nums[rightIndex]*nums[rightIndex];
                i++;
                rightIndex--;
            }
        }
        return nums_out;
    }
};
 
class Solution:
    def sortedSquares(self, nums: List[int]) -> List[int]:
        leftIndex = 0
        rightIndex = len(nums)-1
        # nums_out = nums # 不能这么做,这不是拷贝而是原地修改
        nums_out = [None]*len(nums)

        for i in range(len(nums)):
            if nums[leftIndex] ** 2 > nums[rightIndex] ** 2:
                nums_out[len(nums)-i-1] = nums[leftIndex]**2
                leftIndex +=1
            else:
                nums_out[len(nums)-i-1] = nums[rightIndex]**2
                rightIndex -=1
            print (nums_out)
        return nums_out
209.长度最小的子数组

题目建议: 本题关键在于理解滑动窗口,这个滑动窗口看文字讲解 还挺难理解的,建议大家先看视频讲解。  拓展题目可以先不做。 

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

文章讲解:代码随想录

视频讲解:拿下滑动窗口! | LeetCode 209 长度最小的子数组_哔哩哔哩_bilibili

 59.螺旋矩阵II

题目建议:  本题关键还是在转圈的逻辑,在二分搜索中提到的区间定义,在这里又用上了。 

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

文章讲解:代码随想录

视频讲解:一入循环深似海 | LeetCode:59.螺旋矩阵II_哔哩哔哩_bilibili

 总结 

题目建议:希望大家 也做一个自己 对数组专题的总结

文章链接:代码随想录

相关推荐

  1. 代码随想算法训练

    2023-12-17 17:52:02       57 阅读
  2. 代码随想算法训练

    2023-12-17 17:52:02       58 阅读
  3. 代码随想算法训练总结

    2023-12-17 17:52:02       45 阅读
  4. 代码随想算法训练总结

    2023-12-17 17:52:02       41 阅读
  5. 代码随想算法训练总结

    2023-12-17 17:52:02       41 阅读
  6. 代码随想训练

    2023-12-17 17:52:02       37 阅读
  7. 代码随想训练

    2023-12-17 17:52:02       34 阅读
  8. 代码随想训练

    2023-12-17 17:52:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 17:52:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 17:52:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 17:52:02       82 阅读
  4. Python语言-面向对象

    2023-12-17 17:52:02       91 阅读

热门阅读

  1. JDK8接口新增的方法

    2023-12-17 17:52:02       59 阅读
  2. 力扣97. 交错字符串

    2023-12-17 17:52:02       54 阅读
  3. 常见编码方式

    2023-12-17 17:52:02       56 阅读
  4. 《微信小程序开发从入门到实战》学习五十

    2023-12-17 17:52:02       56 阅读
  5. 【力扣100】73.矩阵置零

    2023-12-17 17:52:02       68 阅读
  6. 复盘步骤| 每天,每周,每年

    2023-12-17 17:52:02       56 阅读