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

刷题日记-Day2- Leedcode-977. 有序数组的平方,209. 长度最小的子数组,59. 螺旋矩阵 II-Python实现

刷题日记Day2

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

977 有序数组的平方

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

给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。

思路:分三种情况
-1. 全正,直接返回原数组平方
-2. 全负,返回原数组平方的逆序
-3. 有正有负
(1)寻找中间点位(绝对值从小变大的起点或者相邻乘积<=0的位置)
(2)左指针为mid-1 ,右指针为mid + 1
(3) 转换为两个有序数组合并问题
(4) 注意点:等其中一个结束后要把未结束的那个剩余的数字全部追加到最后

class Solution:def sortedSquares(self, nums: List[int]) -> List[int]:snums = [num * num for num in nums]if nums[0] >= 0:return snumselif nums[-1] <=0:return list(reversed(snums))mid = 0for i in range(len(nums)-1):if (nums[i] * nums[i+1])<=0:if abs(nums[i]) < nums[i+1]:mid = ielse:mid = i + 1left = mid - 1right = mid + 1ans = [snums[mid]]# print("========")# print(ans)# print("========")while left >=0 and right <= len(nums)-1:if snums[left] < snums[right]:ans.append(snums[left])left -= 1else:ans.append(snums[right])right += 1# print(ans, left ,right)if left == -1:ans.extend(snums[right:])elif right == len(nums):ans.extend(list(reversed(snums[:left+1])))return ans

209. 长度最小的子数组

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

给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

思路:双指针,右指针探路,选择区间内满足条件的,满足后,左指针移动,找到最小满足的,以此类推
难点:边界条件处理

代码实现

class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:left = 0right = 0 length = len(nums)ans = 1e5 +1temp = nums[0]while right < len(nums):if temp < target:right += 1if right != len(nums):temp += nums[right]# print("==", left, right, nums[left:right+1], ans)else: ans = min(ans, right + 1 -left)temp -= nums[left]left += 1      # print("****", left, right, nums[left:right+1], ans)while left <=right and temp >= target:ans = min(ans, right + 1 -left)temp -= nums[left]left += 1          # print("@@@", left, right, nums[left:right+1], ans)if ans == 1e5+1:return 0return ans

59. 螺旋矩阵 II

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

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

思路:模拟,设置上下左右四个方向,注意方向的设置必须按照顺时针,即右-》下-》左-》上循环往复,碰壁则调转方向。
Python代码实现

class Solution:def generateMatrix(self, n: int) -> List[List[int]]:if n == 1:return [[1]]# temp = list(range(1, n*n +1))# print(temp)# ans = [[0]*n] *n   谁这样写谁是笨蛋# print(ans)ans = [[0] * n for _ in range(n)]# print(ans)# 右下左上 顺时针方向direc = [[0,1], [1,0],[0, -1], [-1,0]]row, col, idx = 0, 0, 0for i in range(n * n):ans[row][col] = i + 1dx, dy = direc[idx]r, c = row + dx, col + dyif r< 0 or r>= n or c<0 or c >=n or ans[r][c]>0:# 碰壁了,顺时针旋转方向idx = (idx+1)% 4dx, dy = direc[idx]row, col = row + dx, col +dy# print(ans)return ans

相关文章:

刷题日记-Day2- Leedcode-977. 有序数组的平方,209. 长度最小的子数组,59. 螺旋矩阵 II-Python实现

刷题日记Day2 977 有序数组的平方209. 长度最小的子数组59. 螺旋矩阵 II 977 有序数组的平方 链接&#xff1a;https://leetcode.cn/problems/squares-of-a-sorted-array/description/ 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组…...

Linux命令-chcon命令(修改对象(文件)的安全上下文)

说明 chcon命令 是修改对象&#xff08;文件&#xff09;的安全上下文&#xff0c;比如&#xff1a;用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。使用 --reference 选项时&#xff0c;把指定文件的安全环境设置为与参考文件相同。chcon命令位于 /…...

【漏洞复现】大华DSS视频管理系统信息泄露漏洞

Nx01 产品简介 大华DSS数字监控系统是一个在通用安防视频监控系统基础上设计开发的系统&#xff0c;除了具有普通安防视频监控系统的实时监视、云台操作、录像回放、报警处理、设备治理等功能外&#xff0c;更注重用户使用的便利性。 Nx02 漏洞描述 大华DSS视频管理系统存在信…...

websocket了解下

websocket请求长啥样 GET /chat HTTP/1.1 Host: example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ Sec-WebSocket-Version: 13 啥是websocket websocket是http的一种&#xff0c;服务器可以主动向客户端推送信息&#xff0c;…...

docker install private registry 【docker 安装 registry 仅证书认证】

预备条件&#xff1a; 安装docker 我们设定镜像仓库域名为registry01.dev.com 配置/etc/hosts 192.168.23.51 registry01.dev.com安装 registry #!/bin/bashreg_ip$1 reg_n$2 reg_port$3if [ $# -eq 0 ]; thenecho "Usage: $0 [reg_ip] [registry_name]"echo &q…...

JavaWeb——004Maven SpringBootWeb入门

一、Maven 1、什么是maven&#xff1f; 2、Maven的作用是什么&#xff1f;&#xff08;3种&#xff09; 1.1、方便的依赖管理 依赖管理&#xff1a;有了Maven&#xff0c;我们就不用再手动导入Jar包了&#xff0c;我们只需要在配置文件当中&#xff0c;简单描述一下项目所需要…...

数据结构与算法-常用排序算法

一、常用排序说明 当涉及排序算法时&#xff0c;理解每个算法的工作原理、时间复杂度和空间复杂度是至关重要的。下面对常用排序算法进行详细说明&#xff1a; 1、冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a; 工作原理&#xff1a;比较相邻的元素并交换&am…...

链表之“无头单向非循环链表”

目录 ​编辑 1.顺序表的问题及思考 2.链表 2.1链表的概念及结构 2.2无头单向非循环链表的实现 1.创建结构体 2.单链表打印 3.动态申请一个节点 3.单链表尾插 4.单链表头插 5.单链表尾删 6.单链表头删 7.单链表查找 8.单链表在pos位置之前插入x 9.单链表删除pos位…...

一休哥助手网页版如何使用

一休哥助手网页版可以使用GPT4提问了&#xff0c;具体操作流程如下&#xff1a; 1.登录网页版一休哥助手&#xff08;首次打开页面时&#xff0c;初始化久一点&#xff0c;请耐心等一下&#xff09; https://www.fudai.fun 2.登录后就可以使用GPT4了 3.你还可以自定义系统角色…...

个人博客系统测试

文章目录 一、项目介绍二、测试1. 功能测试2. 自动化测试&#xff08;1&#xff09;添加相关依赖&#xff08;2&#xff09;新建包并在报下创建测试类&#xff08;3&#xff09;亮点及难点 一、项目介绍 个人博客系统采用前后端分离的方法来实现&#xff0c;同时使用了数据库来…...

智慧应急的未来:物联网技术引领智慧应急发展新趋势

一、引言 随着社会的快速发展&#xff0c;各类突发事件频繁发生&#xff0c;对社会的安全稳定构成了严重威胁。传统的应急管理模式已难以满足现代社会对安全保障的需求&#xff0c;急需探索新型的应急管理手段。在这个背景下&#xff0c;智慧应急应运而生&#xff0c;以其高效…...

字符串摘要(C语言)

题目描述 给定一个字符串的摘要算法&#xff0c;请输出给定字符串的摘要值。 去除字符串中非字母的符号。如果出现连续字符&#xff08;不区分大小写&#xff09;&#xff0c;则输出&#xff1a;该字符&#xff08;小写&#xff09; 连续出现的次数。如果是非连续的字符&…...

Linux进一步研究权限-----------ACL使用

一、使用情况 1.1、场景: 某个大公司&#xff0c;在一个部门&#xff0c;有一个经理和手下有两个员工&#xff0c;在操控一个Linux项目,项目又分为三期做&#xff0c;然而一期比较重要&#xff0c;经理带着员工做完了&#xff0c;公司就觉得技术难点已经做完攻克了&#xff0…...

剪辑视频调色软件有哪些 剪辑视频软件哪个最好 剪辑视频怎么学 剪辑视频的方法和步骤 会声会影2024 会声会影视频制作教程

看了很多调色教程&#xff0c;背了一堆调色参数&#xff0c;可最终还是调不出理想的效果。别再怀疑自己了&#xff0c;不是你的剪辑技术不行&#xff0c;而是剪辑软件没选对。只要掌握了最基本的调色原理&#xff0c;一款适合自己的视频剪辑软件是很容易出片的。 有关剪辑视频…...

【Linux进阶之路】Socket —— “UDP“ “TCP“

文章目录 一、再识网络1. 端口号2. 网络字节序列3.TCP 与 UDP 二、套接字1.sockaddr结构2.UDP1.server端1.1 构造函数1.2 Init1.3 Run 2.客户端1.Linux2.Windows 3.TCP1. 基本接口2. 客户端3. 服务端1.版本12.版本23.版本34.版本4 三、守护进程尾序 一、再识网络 1. 端口号 在…...

一些用 GPT 翻译的计算机科学/人工智能 PDF 讲义

3D成像.pdf3D成像技术.pdf3D点云分析.pdfAAAI 2019 笔记.pdfCMU 10.708 概率图模型讲义.pdfCMU 15-312 编程语言基础讲义.pdfCMU 15-411 编译器设计讲义.pdfCMU 15-819 同伦类型论讲义.pdfCMU 15-819O 程序分析讲义.pdfCUNY CSci335 软件设计与分析 3 讲义.pdfDixie IT4500 信息…...

重大更新:GPT-4 API 现全面向公众开放!

重大更新&#xff1a;GPT-4 API 现全面向公众开放&#xff01; 在 AIGC&#xff08;人工智能生成内容&#xff09;领域内&#xff0c;我们一直致力于跟踪和分析如 OpenAI、百度文心一言等大型语言模型&#xff08;LLM&#xff09;的进展及其在实际应用中的落地情况。我们还专注…...

【Python笔记-设计模式】对象池模式

一、说明 用于管理对象的生命周期&#xff0c;重用已经创建的对象&#xff0c;从而减少资源消耗和创建对象的开销 (一) 解决问题 主要解决频繁创建和销毁对象所带来的性能开销问题。如数据库连接、线程管理、网络连接等&#xff0c;对象的创建和销毁成本相对较高&#xff0c…...

反序列化 [NPUCTF2020]ReadlezPHP1

打开题目 直接查看源代码 打开源代码发现了个./time.php?source 访问一下 审计代码&#xff1a; 现存在反序列化语句&#xff1a;$ppp unserialize($_GET["data"]);和执行漏洞&#xff1a;echo $b($a); 发现在__destruct()方法里面有 echo $b($a); 这个是php的…...

AI技术那些事儿:揭开潜伏在你生活中的高科技小能手

你有没有发现&#xff0c;现在的生活里有些“看不见”的聪明家伙&#xff0c;它们时时刻刻在帮咱们忙活呢&#xff1f;从早上用语音命令打开窗帘、播报新闻&#xff0c;到晚上喊一声关灯睡觉&#xff0c;这些都离不开人工智能&#xff08;简称AI&#xff09;的助攻。今天咱就掰…...

Ollama + Open WebUI部署教程:本地运行大语言模型,自建私有 AI 助手

Ollama Open WebUI部署教程&#xff1a;本地运行大语言模型&#xff0c;自建私有 AI 助手 不想把对话内容发给 OpenAI&#xff1f;有私密需求或离线场景&#xff1f;Ollama 让你在自己的服务器上运行 Llama、Qwen、DeepSeek 等开源大语言模型&#xff0c;Open WebUI 提供和 Ch…...

对比直接使用厂商 API 通过 Taotoken 聚合调用的账单清晰度差异

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接使用厂商 API 与通过 Taotoken 聚合调用的账单清晰度差异 在集成多个大语言模型到业务中时&#xff0c;开发者通常会面临一…...

基于ToF传感器与MIDI协议的动态激光竖琴设计与实现

1. 项目概述&#xff1a;当激光竖琴遇见飞行时间传感器如果你玩过电子音乐&#xff0c;或者对创客项目感兴趣&#xff0c;那你一定见过那种用手“拨动”激光束来触发音符的激光竖琴。传统的激光竖琴大多基于“遮光即触发”的原理&#xff0c;就像一道光电门&#xff0c;手一挡&…...

2025最权威的AI辅助写作助手推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek AI辅助写作工具正深刻改变着学术研究的传统范式&#xff0c;这是随着人工智能技术飞快发展而…...

高效检索句子:基于 SQLite FTS5 的关键词快速匹配方案

std::filesystem::replace_extension 仅修改路径对象的逻辑表示&#xff0c;不更改磁盘文件&#xff1b;真正改后缀需配合 fs::rename&#xff0c;且须检查目标是否存在、文件是否为常规文件&#xff0c;并注意跨卷、文件占用等系统限制。std::filesystem::replace_extension 为…...

手把手教你学Simulink——基于 PWM 加相移混合控制的双向 DC-DC 变换器仿真

目录 手把手教你学Simulink——基于 PWM 加相移混合控制的双向 DC-DC 变换器仿真 摘要 Abstract 1. 引言 1.1 研究背景 1.2 本文目标 2. 混合控制机理 2.1 拓扑选择&#xff1a;双有源桥&#xff08;DAB&#xff09; 2.2 混合控制自由度 3. Simulink 主电路建模 3.1…...

原神帧率解锁终极指南:免费突破60FPS限制的完整教程

原神帧率解锁终极指南&#xff1a;免费突破60FPS限制的完整教程 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 原神帧率解锁工具&#xff08;genshin-fps-unlock&#xff09;是一款开源…...

【电力系统】阶梯碳下考虑 P2G-CCS 与供需灵活响应的 IES 优化调度附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。&#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f3…...

CCPD车牌数据集预处理避坑指南:透视变换原理详解与OpenCV实战

CCPD车牌数据集预处理避坑指南&#xff1a;透视变换原理详解与OpenCV实战 车牌识别系统中&#xff0c;数据预处理的质量直接影响模型性能。CCPD作为目前最全面的中文车牌数据集&#xff0c;其四点标注特性为透视变换提供了基础&#xff0c;但也暗藏诸多陷阱。本文将手把手带您穿…...

【ZYNQ】AXI4总线协议实战:从握手时序到PS-PL高效通信

1. AXI4总线协议基础&#xff1a;从握手信号到通道架构 第一次接触ZYNQ的PS-PL通信时&#xff0c;我被AXI4协议里那些VALID/READY信号搞得头晕眼花。直到在示波器上抓到真实的握手波形&#xff0c;才突然理解这个看似复杂的协议其实像极了我们日常的对话机制——只有当说话方准…...