首页 > 其他分享 >Day5 本周总结

Day5 本周总结

时间:2024-07-21 10:51:20浏览次数:9  
标签:总结 Day5 本周 链表 减治 数组 节点 模拟 指针

目录

数组

关于数组,本身结构上比较简单,所以题型上要思考的较多,思想上大多为减治策略,模拟等

  • 减而治之的思想,即将一个未知区间的数组亦步亦趋的转化为某些区间已知,某些区间未知的中间状态,最终转化为全部区间已知。(如二分查找的两种不同返回值情况)。技巧上,特定题型比如有序数组的平方使用了双指针法,但是思想上也是减治策略,即减少了未知数组的长度,增加了需求数组的长度,最终达到完整的输出数组。长度最小的子数组也使用了双指针法,确定每个合法的后指针为结尾的子数组长度,然后缩减前指针,找到以当前节点为结尾的最小的子数组,逻辑上也为减治策略,即确定的以当前指针结尾的最小子数组的长度越来越多,最终达到全部已知,找到最小的即可。
  • 螺旋矩阵II采用了模拟的思路,即亦步亦趋地根据题意,模拟整个遍历过程,逻辑上来说肯定也是减治思想,但是这种比较直观,所以就归为了模拟法。需要注意边界条件。

链表

关于链表,同样有两种题型,减治和模拟

  • 一种是简单模拟类型的题,这种题就是按照题目描述去操作即可,思考上主要在于单次循环需要修改的指针域和顺序,注意由于之前的修改需要提前保存的变量以及循环条件即可。* 另一种是双指针类的题。实际上第二种也算是模拟类型,只是不像第一种题那么直观,不能根据题目描述直接得到需要遍历和单次遍历需要操作的节点,一般是通过快慢指针得到需要修改的节点后,再去做修改。比如链表相交和环形链表。
    另外,关于链表,还需要注意虚拟头节点技术,一般增删改需要用来这个dummyHead来统一头节点和其他普通节点的操作,对于查找,则一般不需要使用。

总结

总的来说,在这一周的学习中,主要学习了模拟和减治思想,模拟实际也是减治,但是因为题目比较直观,所以单独分出来,对于这类题,主要注意的是边界条件。另外减治就是思考如何减少未知,增加已知。

标签:总结,Day5,本周,链表,减治,数组,节点,模拟,指针
From: https://www.cnblogs.com/haohaoscnblogs/p/18314246

相关文章

  • AI跟踪报道第48期-新加坡内哥谈技术-本周AI新闻:Open AI 和 Mistral的小型模型
       每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https:......
  • mysql常用命令总结
    连接数据库格式mysql-h连接地址-u用户-p密码-P端口例如mysql-h127.0.0.1-uroot-p123456-P3310 常用用户管理操作https://dev.mysql.com/doc/refman/8.0/en/create-user.html创建用户CREATEUSER'用户名字'@'%'IDENTIFIEDBY'密码';例如CREATEUSER'wxh......
  • 每周JAVA学习总结
    一、隐式转换和强制转换隐式转换(自动类型转换)隐式转换是指编译器在程序运行时自动将一种数据类型转换为另一种数据类型,而无需程序员干预。隐式转换遵循以下规则:(1)数据范围小的类型可以自动转换为数据范围大的类型(低精度转高精度)。(2)转换过程中不会丢失精度。例如:inta=10;......
  • NOI2024 总结
    赛时经历Day1想了1h的t1,然后思路不是很清晰,写了1h。想t2,顺着擂台赛想下去,可以分成\(k\)个一组,每组\(\dfrac{k(k-1)}2\)次查询,然后选出一个最大的组成一个新的序列。过了一会儿,想到dp这个过程,得到82pts。剩下大约1h30min,想t3,一直在往计数+容斥的方向......
  • 第二周总结
    一、阅读第二周我阅读了《大道至简》第二章的内容,第二章主要讲了勤奋的人与懒惰的人在方法创新方面的差异,引用了《李冰凿山》的故事,通过“积薪烧之”的方式与第一章愚公“碎石击壤”形成对比,突出了本章的主题。愚公是典型的勤奋者的身份,但工作缺乏动脑,不创新,使得工作费时又费力。......
  • 周总结二
    Hive简介什么是Hive1、Hive由Facebook实现并开源2、是基于Hadoop的一个数据仓库工具3、可以将结构化的数据映射为一张数据库表4、并提供HQL(HiveSQL)查询功能5、底层数据是存储在HDFS上6、Hive的本质是将SQL语句转换为MapReduce任务运行7、使不熟悉MapRed......
  • 2024.7.20 模拟赛总结
    T1lcdStatement:给定\(n(1\len\le10^8)\),问有多少对\((i,j)(1\lei,j\len)\)满足\(\frac{xy}{\gcd(x,y)^2}\le3\)。Solution:简单题。令\(x'=\frac{x}{\gcd(x,y)},y'=\frac{y}{\gcd(x,y)}\),枚举\((x',y')\)并计算即可......
  • 每周总结2
    今天测试没过 后端代码出问题了nnd安装相应的python包#用于flask在使用ORM模型操作数据库pipinstallflask-sqlalchemy#Python操作数据库的驱动程序pipinstallpymysql#对密码加密和解密pipinstallcryptography#用于将ORM模型的变更同步到数据库中pipinstallflas......
  • java报告第三周总结
    本周的学习内容为整个第四章的内容,学习中感觉知识点既多又杂,故在总结时尽量选用重要的或高度概括的知识点。面向对象语言特点:封装性、继承、多态类:类是java程序的基本要素,一个java程序就是由若干个类所构成,类是java语言中最重要的数据类型,类声明的变量被称为对象变量类、对象、......
  • 暑假第三周总结(7.15-7.20)
    这周做了什么继续学习JAVA,做出了城堡游戏点击查看代码//RoompackagecastleV3;importjava.util.HashMap;publicclassRoom{ privateStringdescription;privateHashMap<String,Room>exits=newHashMap<String,Room>();publicRoom(String......