代码随想录算法训练营第二天 |209.长度最小的子数组,59. 螺旋矩阵 II

209.长度最小的子数组

思路:快慢指针的思想,当快指针一直移动的时候,那么数列一定是递增的,且我们要求的是连续的数组,所以我们其实可以一次性用一个for就给全部遍历完成。当我们这个区间的值大于了target,我们就可以开始移动我们的慢指针了,直到我们的慢指针到达快指针的位置。

注意的点:一个是我一开始犯的错误,将最外层那个快指针的移动给写成if了,其实用for一直向前移动快指针,并且注意,如果慢指针更新完之后,要把快指针回拨,因为你此时如果符合了那个len,但是实际上你是没有更新到min_len里面的,你要回拨一下,然后才能到存会min_len的那个逻辑。还有就是快指针遍历完了之后,记得要把慢指针移动到快指针的位置,以免漏掉的情况。

题解:

func minSubArrayLen(target int, nums []int) int {min_len := 100000 + 1i := 0j := 0nums_len := len(nums)sum := nums[0]for j < nums_len-1 {for sum < target && j < nums_len-1 {j++sum += nums[j]//println(sum)}for sum >= target && i <= j {now_len := j - i + 1if now_len < min_len {//println(j)//println(i)min_len = j - i + 1}sum -= nums[i]i++sum -= nums[j]j--}}//for sum >= target && i <= j {now_len := j - i + 1if now_len < min_len {min_len = j - i + 1}sum -= nums[i]i++}if min_len == 1e5+1 {return 0}return min_len
}

59. 螺旋矩阵 II

思路:就是一个大模拟,其实本质不难,就考一个细节问题。

注意的点:就是loop的求取,想成转一圈,然后就会少两列,把n列消耗完就没有了,故loop = n/2 ,然后要注意边界问题 以及奇数的时候最中心nums[n/2][n/2],要给赋值index。

题解:

func generateMatrix(n int) [][]int {index := 1startx := 0starty := 0offset := 1loop := n / 2//初始化nums数组nums := make([][]int,n)for i := 0;i < n;i++{nums[i] = make([]int,n)}for loop > 0{i, j := startx, startyfor j < n - offset{nums[i][j]= indexindex++j++}for i < n - offset{nums[i][j]= indexindex++i++} for j > starty{nums[i][j]= indexindex++j--}for i > startx{nums[i][j]= indexindex++i--}offset++loop--startx++starty++}if n % 2 != 0{ nums[n/2][n/2]= index }return nums
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac更新or安装homebrew失败

错误信息:fatal: unable to access https://github.com/Homebrew/brew/: LibreSSL SSL_read: error:02FFF03C:system library:func(4095):Operation timed out, errno 60可以用命令:/bin/zsh -c "$(curl -fsSL …

虚拟机5

虚拟机<5>我的虚拟机设置的三个节点,分别为hadoop020,hadoop021,hadoop022,对应教程中的hadoop01,hadoop02,hadoop03

微信小程序实现-单选-以及全选功能。 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Typescript中闭包的原理 - 教程

Typescript中闭包的原理 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

CF2048H Kevin and Strange Operation

操作的自由度很大,打表可以发现限制操作的位置只增不减也是对的。 考虑怎么判断一个串 \(t\) 是否合法。 观察到对于一个位置 \(i\) 满足 \(s_i=0\),想要通过操作使 \(s_i\) 变为 \(1\),只需要 \(>i\) 的位置删掉…

Hadoop本地库加载问题分析与解决方案

主要问题分析 ​​本地库加载警告​​: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 这表明Hadoop无法正确加载本地优化库…

GO基础总结

环境搭建 基本语法 参见:https://www.cnblogs.com/vonlinee/p/19005628 工具链

Visual Studio 离线安装0x80131509

Visual Studio 2026在本月发布了,它最大的特点是集成了GitHub Copilot,内置AI编程,空了要尝尝鲜(使用过Visual Studio Code的Copilot,还是挺有用的)。目前,VS2022很少使用,像VS2012一样被跳过,主要使用VS2019…

dash 从入门到精通

dash 从入门到精通目录 官方地址:https://plotly.com/dash/ Github 开源地址:https://github.com/plotly/dash Dash 官方文档:https://dash.plotly.com/

Oracle备份恢复:backup as copy保留文件名不变化,只更改路径名

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。Oracle备份恢…

读书笔记:数据库中的预连接神器:位图连接索引

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本文为个人学…

飞算JavaAI:专为Java开发者打造的智能编程革命 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

故障处理:CRS无法随操作系统自动启动故障案例分享

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。今天分享一个…

02020401 EF Core基础01-EF Core简介和开发环境搭建、实体类、配置类、继承DbContex的类、Migration包的使用

02020401 EF Core基础01-EF Core简介和开发环境搭建、实体类、配置类、继承DbContex的类、Migration包的使用 1. EF Core简介(视频3-1)本课程需要你有数据库、SQL等基础知识。关系数据库:MySql、SQL Server、Oracle…

专用通路方式

-取址周期 1.从pc取址到mar (pc)->mar 此时c0有效 2.把刚才的值交给内存 (mar)->内存 c1 3.让内存读取mar中保存的值 1->r 4.让mdr获取内存刚刚读取的mar中保存的代码值 MEM(MAR)->MDR C2 5.再让IR(指令…

typeof()

C# 中的 typeof() 是啥?一句话讲清楚:typeof() 就是“问编译器:这个类型长啥样?”它不是运行时去查对象,而是编译时就确定你写的那个“类名、接口名、结构名”到底是谁,然后返回一个叫 Type 的对象,这个对象里装…

详细介绍:【C++】C++类和对象—(中)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【未完成】2025.9 做题记录

CF1310C CF616F CF1065G CF1536F. Omkar and Akmar *2600 题意 Alice 和 Bob 在一个 \(n\) 个格子的环上玩游戏,环上的格子编号为 \(1\sim n\)。 每一轮中,玩家可选择一个空格子填入字母 A 或 B,同时要求不能存在两…

【9月中】

【9月中】rating:1173 已经好几个月没更新近况了,期末月,暑假回来 3 场 XCPC 初体验,意料之外,未曾想过,受宠若惊,还是菜鸡,JXCPC 垫底,网络赛爆零 我到底为什么还要走这条路啊,明明没有希望,而且就算自己这…

08-分组函数

08-分组函数$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");介绍 分组函数的执行原则:先分组,然后对每一组数据执行分组函数。如果没有分组语句group by的…