2025年4月6日
摘要: 题目描述 思路:双指针 对于这样的一个正整数数组,我们可以设置两个指针i,j来控制滑动窗口的长度(即本题中子数组的长度),设置一个sum来计算当前窗口内的元素的和,window_length来记录当前的最小窗口的长度。我们以i作为窗口的起始,j指针在循环中生长。通过循环计算sum的值与target进 阅读全文
posted @ 2025-04-06 20:26 sakura430 阅读(13) 评论(0) 推荐(0)
摘要: 问题描述 思路一:暴力解 通过for循环更新nums数组的值,随后对nums数组采用快速排序,最后将其返回。 代码如下 void quick_sort(vector<int> &a,int low,int high){ if(low>=high){ //边界检查 return ; } int i = 阅读全文
posted @ 2025-04-06 16:39 sakura430 阅读(10) 评论(0) 推荐(0)
摘要: 题目描述 思路: 这里主要介绍的是一种采取快慢双指针的思路。我们可以设置快指针fast来获取数组的元素,慢指针slow来获取数组的位置。这样我们采用fast指针的循环对整个数组进行遍历,当当前的fast指向的元素不等于目标元素val时,我们就将fast指向的元素更新到slow指向的位置,随后fast 阅读全文
posted @ 2025-04-06 15:10 sakura430 阅读(8) 评论(0) 推荐(0)
摘要: 题目描述: 思路: 对于这样的一个旋转矩阵模型,我们在进行赋值的时候,可以盯住每次行坐标不变(纵坐标不变)来进行边界的限制。为了统一,我们在取每一行(列)的区间时采取左闭右开的思想,即每一次行更新(列更新)我们都只计算[begin,end)这样一个范围,这样就可以避免赋值的重复。同时,我们可以设置s 阅读全文
posted @ 2025-04-06 14:45 sakura430 阅读(14) 评论(0) 推荐(0)
  2025年4月5日
摘要: 题目描述: 思路: 二分查找是搜索问题的经典问题。在这道题中,我们已知有序且升序的数组nums,那么我们可以设置三个指针low,mid,high。其中,我们令low = 0,high = nums.size()-1,那么初始的mid即为(low+high)/2。随后我们要设置循环的判断条件,此时就可 阅读全文
posted @ 2025-04-05 20:45 sakura430 阅读(19) 评论(0) 推荐(0)
摘要: 本合集的算法问题内容来自leetcode以及代码随想录,顺序上与代码随想录的教学视频顺序一致,作答使用的语言为C++,大佬很强,我很菜,多学多练。 友情链接:: Leetcode:https://leetcode.cn/ B站代码随想录视频:https://www.bilibili.com/vide 阅读全文
posted @ 2025-04-05 19:39 sakura430 阅读(7) 评论(0) 推荐(0)
摘要: 一行代码是由编程语言(也可以是自定义)提供的各种数据结构、关键性质等编写的。以下介绍一些最基本的元素组成。 注释 在程序中,注释用于解释代码,使得代码更容易被理解。注释会被编译器自动忽略,所以任何注释都不会影响程序的输出或执行。C语言拥有两种类型的注释: 1. 单行注释。以//作为开头,作用域为一整 阅读全文
posted @ 2025-04-05 16:39 sakura430 阅读(11) 评论(0) 推荐(0)
摘要: 简介 对于初次学习编程的学习者们而言,第一门接触到的编程语言一般来说是C语言。其诞生于上个世纪60年代末期的贝尔实验室,被设计为Unix操作系统提供一种高效、灵活的编程语言。可以说,C语言是设计开发Unix操作系统的副产物。随着计算机编程的发展,C语言逐渐完善与稳定,它是当今软件世界的基石,在底层编 阅读全文
posted @ 2025-04-05 15:19 sakura430 阅读(30) 评论(2) 推荐(0)
摘要: 对于初学习的小伙伴来说,环境搭建的过程是十分重要的,也是我们走上编程路上的第一个考验,为了方便各位小伙伴的学习,这篇随笔记录了一些关于VS环境搭建的内容。 对于大型的c/cpp项目开发,Visual Studio 是比较适合的IDE,其以一个工程项目为单位。 Visual Studio 下载链接: 阅读全文
posted @ 2025-04-05 15:17 sakura430 阅读(44) 评论(0) 推荐(0)