当前位置: 首页 > 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;的助攻。今天咱就掰…...

Windows 11系统优化新方案:Win11Debloat工具全方位性能提升指南

Windows 11系统优化新方案&#xff1a;Win11Debloat工具全方位性能提升指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改…...

@rc-component/slider拖拽轨道功能解析:提升用户体验的5个技巧

rc-component/slider拖拽轨道功能解析&#xff1a;提升用户体验的5个技巧 【免费下载链接】slider React Slider 项目地址: https://gitcode.com/gh_mirrors/sl/slider rc-component/slider是一款功能强大的React滑块组件&#xff0c;其拖拽轨道功能为用户提供了直观便捷…...

Tecplot三维可视化保姆教程:从MATLAB数据到专业云图只需5步

Tecplot三维可视化实战指南&#xff1a;从MATLAB数据到科研级云图全解析 在工程仿真与科学计算领域&#xff0c;数据可视化是研究成果呈现的关键环节。当二维图表无法满足复杂空间数据的展示需求时&#xff0c;Tecplot作为专业的三维可视化工具便展现出独特优势。本文将手把手带…...

Claude Code + PromptX 实战:如何让AI像你的最佳实习生一样写代码

Claude Code PromptX 实战&#xff1a;如何让AI像你的最佳实习生一样写代码 在软件开发领域&#xff0c;AI辅助编程已经从概念验证阶段迈入了实际生产力阶段。Claude Code与PromptX的组合&#xff0c;为开发者提供了一个强大的"虚拟实习生"——它不会抱怨加班&#…...

**NPU设计新范式:基于RISC-V的可配置计算单元实现与性能优化实践**在人工智能加速领域,

NPU设计新范式&#xff1a;基于RISC-V的可配置计算单元实现与性能优化实践 在人工智能加速领域&#xff0c;NPU&#xff08;神经网络处理单元&#xff09; 正从专用硬件向灵活可编程架构演进。本文将深入探讨一种基于 RISC-V指令集扩展 的轻量级NPU设计方案&#xff0c;并通过实…...

ArduinoFritzApi:嵌入式设备对接FRITZ!Box的TR-064协议实践

1. ArduinoFritzApi 库深度解析&#xff1a;面向嵌入式系统的 FRITZ!Box 自动化控制实践指南1.1 库定位与工程价值ArduinoFritzApi 是一个专为嵌入式平台设计的轻量级 C 库&#xff0c;其核心目标是实现对 AVM 公司全系智能家庭设备&#xff08;FRITZ!Box 路由器、FRITZ!DECT 插…...

从脑电波到股票K线:EMD经验模态分解在5个真实场景下的避坑指南

从脑电波到股票K线&#xff1a;EMD经验模态分解在5个真实场景下的避坑指南 当你第一次看到脑电波信号与股票K线图被放在同一个分析框架下讨论时&#xff0c;可能会觉得这是两个毫不相关的领域。但事实上&#xff0c;无论是神经科学家的EEG数据&#xff0c;还是量化交易员的股价…...

UniApp项目实战:手把手教你集成百度离线人脸SDK实现App实名认证(含完整代码)

UniApp实战&#xff1a;百度离线人脸SDK集成全流程与避坑指南 移动应用开发中&#xff0c;实名认证功能已成为金融、社交、电商等领域的标配需求。对于使用UniApp框架的开发者而言&#xff0c;如何高效集成百度离线人脸SDK实现安全可靠的认证流程&#xff0c;是提升产品竞争力的…...

Django CORS Headers终极配置指南:Vue、React、Angular前端框架完美集成方案

Django CORS Headers终极配置指南&#xff1a;Vue、React、Angular前端框架完美集成方案 【免费下载链接】django-cors-headers Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS) 项目地址: https://gitcode.com/gh_mirrors/d…...

Chord视频分析工具完整指南:支持MOV/AVI/MP4,宽屏界面适配大屏分析

Chord视频分析工具完整指南&#xff1a;支持MOV/AVI/MP4&#xff0c;宽屏界面适配大屏分析 1. 工具概览&#xff1a;本地智能视频分析新选择 Chord视频时空理解工具是一款基于先进多模态架构的本地化智能视频分析解决方案。这个工具最大的特点是完全在本地运行&#xff0c;不…...