当前位置: 首页 > news >正文

Day02

今日任务:

  • 977 有序数组的平方
  • 209 长度最小的子数组
  • 59 螺旋矩阵Ⅱ

977 有序数组的平方

题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/

双指针问题,以及数组本身时有序的;

思路:

  1. 左、右两个指针,比较两边的平方数,将较大的数从后往前放进新生成的数组
  2. 若左边的平方数 大于 右边的平方数,则需要将左边的指针向右移动一格
  3. 若左边的平方数 小于 右边的平方数,则需要将右边的指针向左移动一格
  4. 直到两个指针指向同一个位置,就是最小的那一个,将平方数放进数组后,退出
class Solution {public int[] sortedSquares(int[] nums) {int n = nums.length;int[] res = new int[n];int left = 0, right = n - 1;while(left <= right) {if(nums[left] * nums[left] <= nums[right] * nums[right]) {res[--n] = nums[right] * nums[right];right--;}else {res[--n] = nums[left] * nums[left];left++;}}return res;}
}

209 长度最小的子数组

题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/description/

暴力遍历的话,时间超市;

滑动窗口问题,就是不断的调节子序列的起始位置和终止位置

思路:

  1. 如果当前窗口的值大于等于 target 了,窗口的后面就要向前移动了,前面保持不动
  2. 如果当前窗口的值小于 target 了,窗口的后面保持不动,前面向前移动
  3. 每次满足条件的时候都需要进行比较 res 的值,选择较小者
class Solution {public int minSubArrayLen(int target, int[] nums) {int n = nums.length;if(n == 0) {return 0;}int res = Integer.MAX_VALUE;int start = 0, end = 0;int sum = 0;while(end < n) {sum += nums[end];while(sum >= target) {res = Math.min(res, end - start + 1);sum -= nums[start];start++;}end++;}return res == Integer.MAX_VALUE ? 0 : res;}
}

59 螺旋矩阵Ⅱ

题目链接:https://leetcode.cn/problems/spiral-matrix-ii/

关键还是在转圈的逻辑,以及四个边界的变化情况

class Solution {public int[][] generateMatrix(int n) {int l = 0, r = n -1, t = 0, b = n - 1;int[][] mat = new int[n][n];int num = 1, tar = n * n;while(num <= tar) {for(int i = l; i <= r; i++) mat[t][i] = num++;t++;for(int i = t; i <= b; i++) mat[i][r] = num++;r--;for(int i = r; i >= l; i--) mat[b][i] = num++;b--;for(int i = b; i >= t; i--) mat[i][l] = num++;l++;}return mat;}
}

相关文章:

Day02

今日任务&#xff1a; 977 有序数组的平方209 长度最小的子数组59 螺旋矩阵Ⅱ 977 有序数组的平方 题目链接&#xff1a;https://leetcode.cn/problems/squares-of-a-sorted-array/ 双指针问题&#xff0c;以及数组本身时有序的&#xff1b; 思路&#xff1a; 左、右两个…...

编程语言的发展未来?

编程语言的未来&#xff1f; 随着科技的飞速发展&#xff0c;编程语言在计算机领域中扮演着至关重要的角色。它们是软件开发的核心&#xff0c;为程序员提供了与机器沟通的桥梁。那么&#xff0c;在技术不断进步的未来&#xff0c;编程语言的走向又将如何呢&#xff1f; 方向…...

docsify阿里云上部署

使用Markdown格式安装和部署Nginx 本文将介绍如何使用Markdown格式安装和部署Nginx。 步骤 安装Nginx&#xff1a; 打开终端&#xff0c;并根据您的操作系统执行以下命令来安装Nginx&#xff1a; 对于Ubuntu或Debian系统&#xff1a; sudo apt-get update sudo apt-get insta…...

GPT实战系列-简单聊聊LangChain搭建本地知识库准备

GPT实战系列-简单聊聊LangChain搭建本地知识库准备 LangChain 是一个开发由语言模型驱动的应用程序的框架&#xff0c;除了和应用程序通过 API 调用&#xff0c; 还会&#xff1a; 数据感知 : 将语言模型连接到其他数据源 具有代理性质 : 允许语言模型与其环境交互 LLM大模型…...

[NAND Flash 6.4] NAND FLASH基本读操作及原理_NAND FLASH Read Operation源码实现

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解NAND Flash》 <<<< 返回总目录 <<<< ​全文 6000 字 内容摘要 NAND Flash 引脚功能 读操作步骤 NAND Flash中的特殊硬件结构 NAND Flash 读写时的数据流向 Read 操作时序 读时序操作过…...

opencv多张图片实现全景拼接

最近camera项目需要用到全景拼接&#xff0c;故此查阅大量资料&#xff0c;终于将此功能应用在实际项目上&#xff0c;下面总结一下此过程中遇到的一些问题及解决方式&#xff0c;同时也会将源码附在结尾处&#xff0c;供大家参考&#xff0c;本文采用的opencv版本为3.4.12。 首…...

深入理解UML中的继承关系

深入理解UML中的继承关系 在面向对象的设计中&#xff0c;继承关系是构建清晰、可维护系统的关键。统一建模语言&#xff08;UML&#xff09;提供了一种标准化的方法来可视化这些关系。本文将深入探讨UML中的继承关系&#xff0c;并探讨它如何在代码中体现。 什么是继承关系&a…...

CMU15-445-Spring-2023-Project #2 - B+Tree

前置知识&#xff1a;参考上一篇博文 CMU15-445-Spring-2023-Project #2 - 前置知识&#xff08;lec07-010&#xff09; CHECKPOINT #1 Task #1 - BTree Pages 实现三个page class来存储B树的数据。 BTree Page internal page和leaf page继承的基类&#xff0c;只包含两个…...

matplotlib:热图、箱形图、小提琴图、堆叠面积图、雷达图、子图

简介&#xff1a;在数字化的世界里&#xff0c;从Web、HTTP到App&#xff0c;数据无处不在。但如何将这些复杂的数据转化为直观、易懂的信息&#xff1f;本文将介绍六种数据可视化方法&#xff0c;帮助你更好地理解和呈现数据。 热图 (Heatmap)&#xff1a;热图能有效展示用户…...

Django数据库选移的preserve_default=False是什么意思?

有下面的迁移命令&#xff1a; migrations.AddField(model_namemovie,namemov_group,fieldmodels.CharField(defaultdjango.utils.timezone.now, max_length30),preserve_defaultFalse,),迁移命令中的preserve_defaultFalse是什么意思呢&#xff1f; 答&#xff1a;如果模型定…...

逸学Docker【java工程师基础】2.Docker镜像容器基本操作+安装MySQL镜像运行

基础的镜像操作 在这里我们的应用程序比如redis需要构建成镜像&#xff0c;它作为一个Docker文件就可以进行构建&#xff0c;构建完以后他是在本地的&#xff0c;我们可以推送到镜像服务器&#xff0c;逆向可以拉取到上传的镜像&#xff0c;或者说我们可以保存为压缩包进行相互…...

基于Java SSM框架实现医院管理系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现医院管理系统演示 SSM框架 当今流行的“SSM组合框架”是Spring SpringMVC MyBatis的缩写&#xff0c;受到很多的追捧&#xff0c;“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架&#xff0c;通常更简单的数据源。Spring属于…...

【java八股文】之Spring系列篇

【java八股文】之JVM基础篇-CSDN博客 【java八股文】之MYSQL基础篇-CSDN博客 【java八股文】之Redis基础篇-CSDN博客 【java八股文】之Spring系列篇-CSDN博客 【java八股文】之分布式系列篇-CSDN博客 【java八股文】之多线程篇-CSDN博客 【java八股文】之JVM基础篇-CSDN博…...

关于MySQL源码的学习 这里是一些建议

学习MySQL源码需要一定的编程基础&#xff0c;特别是C语言和数据结构。以下是一些建议&#xff0c;帮助你更好地入手学习MySQL源码&#xff1a; 基础知识 熟悉C语言编程基本概念、数据结构和算法。了解Linux操作系统基本概念&#xff0c;如进程、线程、内存管理、文件系统等。…...

Mysql是怎样运行的--下

文章目录 Mysql是怎样运行的--下查询优化explainoptimizer_trace InnoDB的Buffer Pool&#xff08;缓冲池&#xff09;Buffer Pool的存储结构空闲页存储--free链表脏页&#xff08;修改后的数据&#xff09;存储--flush链表 使用Buffer PoolLRU链表的管理 事务ACID事务的状态事…...

yum来安装php727

yum 安装php727,一键安装&#xff0c;都是安装在系统的默认位置&#xff0c;方便快捷 先确定linux平台中centos的版本信息&#xff0c;一下内容针对el7 查看linux版本 &#xff1a; cat /etc/redhat-release 查看内核版本命令&#xff1a; cat /proc/version (0)如果有安装好…...

基于jackson封装的json字符串与javaBean对象转换工具

文章目录 一、概述二、编码实现1. pom文件引入组件2. 核心代码 三、功能测试1. 测试文件2. 测试代码 四&#xff0c;完整代码 一、概述 带有API接口交互的web项目开发过程中&#xff0c;json字符串与javaBean对象之间的相互转换是比较常见的需求&#xff0c;基于jackson Objec…...

js中的数据类型

JavaScript 中有以下几种常见的数据类型&#xff1a; 基本类型&#xff08;原始类型&#xff09;&#xff1a; 字符串&#xff08;String&#xff09;&#xff1a;表示文本数据。数字&#xff08;Number&#xff09;&#xff1a;表示数值数据。布尔&#xff08;Boolean&#xf…...

vue3+vant+cropper.js实现移动端图片裁剪功能

一、前言 最近做项目中遇到一个需求&#xff0c;需要对海报图片按照一定的比例进行裁剪并上传到oss。一开始这个需求思路有两个&#xff0c;使用canvas原生或者寻找现成的第三方库&#xff0c;对比了一番觉得canvas实现时间耗费较长&#xff0c;且秉承着不重复造轮子的原则&am…...

springCould中的Bus-从小白开始【11】

目录 &#x1f9c2;1.Bus是什么❤️❤️❤️ &#x1f32d;2.什么是总线❤️❤️❤️ &#x1f953;3.rabbitmq❤️❤️❤️ &#x1f95e;4.新建模块3366❤️❤️❤️ &#x1f373;5.设计思想 ❤️❤️❤️ &#x1f37f;6.添加消息总线的支持❤️❤️❤️ &#x1f9…...

慢速乘与快速幂

慢速乘 在写程序进行乘法运算时&#xff0c;我们有时会遇到大数溢出的情况&#xff08;比如两个 101810^{18}1018 的数相乘对 1018710^{18}710187 取模&#xff09;。 这个时候我们就可以用慢速乘&#xff08;你用 __int128_t 的话就可以不用管&#xff09;。 一、原理 利用乘法…...

智慧巡检-基于改进RT-DETR的道路交通小目标检测系统(含UI界面、yolov8、Python代码、数据集)基于 PyTorch 和 PyQt5 RT-DETR 或 YOLOv8

智慧巡检-基于改进RT-DETR的道路交通小目标检测系统&#xff08;含UI界面、yolov8、Python代码、数据集&#xff09;外接摄像头实时检测识别。以官方yolov8为主干&#xff0c;实现对道路交通小目标检测识别&#xff08;OpenCV实现对交通目标的检测&#xff0c;训练的分类模型识…...

Minecraft世界优化终极指南:5分钟掌握免费区块管理神器

Minecraft世界优化终极指南&#xff1a;5分钟掌握免费区块管理神器 【免费下载链接】mcaselector A tool to select chunks from Minecraft worlds for deletion or export. 项目地址: https://gitcode.com/gh_mirrors/mc/mcaselector 你是否曾为Minecraft世界无限膨胀而…...

如何轻松实现Cursor Pro破解:5步完整方案让AI编程助手永久免费使用

如何轻松实现Cursor Pro破解&#xff1a;5步完整方案让AI编程助手永久免费使用 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reac…...

EDA工具进化:从仿真瓶颈到静态分析,构建芯片验证分层防御体系

1. 从“工具崩溃”到“分钟级分析”&#xff1a;EDA工具的十五年进化之路十五年前&#xff0c;当Vinod Menon站在EDA联盟设计奖的领奖台上&#xff0c;手握五千美元支票&#xff0c;他的团队刚刚凭借SwitchIT F12M多端口以太网控制器赢得了业界认可。然而&#xff0c;这位AMD的…...

Arm MAP性能分析工具使用指南与优化技巧

1. Arm MAP性能分析工具概述在现代高性能计算(HPC)领域&#xff0c;性能分析工具已成为开发者优化应用程序的关键利器。Arm MAP作为一款专业的跨平台性能分析工具&#xff0c;能够帮助开发者深入理解应用程序的运行行为&#xff0c;定位性能瓶颈&#xff0c;并针对性地进行优化…...

Python 爬虫进阶技巧:请求头 UA 随机伪装绕过基础检测

前言 当下绝大多数网站均部署了基础反爬检测机制,服务器会优先校验客户端请求身份标识,未携带合法浏览器标识、使用默认程序请求载体的爬虫请求,极易被直接拦截、封禁 IP、返回空数据或跳转拦截页面。爬虫默认发起请求时会自带程序原生 UA 标识,服务器可通过该标识直接识别…...

别再只会用555了!用继电器搭建LED闪烁电路的3个隐藏知识点(附电路图)

继电器驱动LED闪烁电路&#xff1a;超越555的三大物理奥秘与实战设计 在电子爱好者的世界里&#xff0c;LED闪烁电路就像"Hello World"之于程序员&#xff0c;是入门必修的第一课。大多数教程会引导初学者使用555定时器这种"标准化方案"&#xff0c;却很少…...

深度测试在2D渲染中的性能优化实践

1. 深度测试在2D渲染中的创新应用在移动设备上&#xff0c;2D应用和游戏的渲染性能优化一直是个棘手的问题。传统2D渲染采用简单的后向前&#xff08;back-to-front&#xff09;绘制顺序来处理透明混合&#xff0c;这种方法虽然直观&#xff0c;但存在严重的过度绘制&#xff0…...

苹果将在培训应用中采用AI生成主播,解决传统培训规模化与个性化难题

苹果培训应用引入AI生成主播据9to5mac报道&#xff0c;Aaron Perris在X平台披露&#xff0c;苹果公司将很快在其内部培训应用“Apple Sales Coach”中采用AI生成主播&#xff0c;用于制作销售培训视频。该应用由苹果此前的“SEED”应用更新而来&#xff0c;旨在向全球苹果销售合…...