- 博客(12)
- 收藏
- 关注
原创 代码随想录刷题day10丨栈与队列理论基础,232.用栈实现队列,**225. 用队列实现栈** , 20. 有效的括号, 1047. 删除字符串中的所有相邻重复项
文档讲解:https://programmercarl.com/1047.%E5%88%A0%E9%99%A4%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E7%9B%B8%E9%82%BB%E9%87%8D%E5%A4%8D%E9%A1%B9.html。第二种:遍历遇到左括号就在栈里面放右括号,遇到右括号判断下右括号的类型和栈里面的右括号类型匹配不匹配。第一种:遍历遇到左括号就在栈里面放右括号,遇到右括号就出栈一个右括号。
2024-08-23 20:40:18
381
原创 代码随想录刷题day9丨151.翻转字符串里的单词,卡码网:55.右旋转字符串,28. 实现 strStr(), 459.重复的子字符串,字符串总结,双指针回顾
字符串是若干字符组成的有限序列,也可以理解为是一个字符数组很多数组填充类的问题,都可以先预先给数组扩容带填充后的大小,然后在从后向前进行操作针对数组删除操作的问题,使用双指针法进行移除操作当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章先整体反转再局部反转,实现了反转字符串里的单词先局部反转再整体反转可以达到左旋的效果"左旋"通常指的是将数组中的元素依次向左移动一个或多个位置,将移出的元素重新放到数组的末尾。KMP的主要思想是。
2024-08-22 19:18:50
753
原创 代码随想录刷题day8丨344.反转字符串,541. 反转字符串II,卡码网:54.替换数字
文档讲解:https://programmercarl.com/0344.%E5%8F%8D%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2.html解题思路:双指针法。
2024-08-21 19:13:15
635
原创 代码随想录刷题day7丨454.四数相加II , 383. 赎金信 , 15. 三数之和 ,18. 四数之和 ,总结
哈希表总结一般来说哈希表都是用来快速判断一个元素是否出现集合里。哈希函数和哈希碰撞在哈希表中的作用哈希函数是把传入的key映射到符号表的索引上哈希碰撞处理有多个key映射到相同索引上时的情景,处理碰撞的普遍方式是拉链法和线性探测法。三种哈希结构数组set(集合)map(映射)数组的大小是受限制的set是一个集合,里面放的元素只能是一个keymap是一种的结构。
2024-08-20 17:44:20
652
原创 代码随想录刷题day6丨哈希表理论基础 ,242.有效的字母异位词,349. 两个数组的交集,202. 快乐数, 1. 两数之和
当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。
2024-08-19 18:48:57
873
原创 代码随想录刷题day4丨24. 两两交换链表中的节点,19.删除链表的倒数第N个节点 ,面试题 02.07. 链表相交 ,142.环形链表II ,链表总结
链表的一大问题就是操作当前节点必须要找前一个节点才能操作。这就造成了,头结点的尴尬,因为头结点没有前一个节点了。每次对应头结点的情况都要单独处理,所以使用虚拟头结点的技巧,就可以解决这个问题。反转链表是面试中高频题目考察链表的操作其实就是考察指针的操作,是面试中的常见类型。
2024-08-17 16:12:37
678
原创 代码随想录刷题day3丨链表理论基础,203.移除链表元素,707.设计链表,206.反转链表
/ 结点的值int val;// 下一个结点// 节点的构造函数(无参)// 节点的构造函数(有一个参数)// 节点的构造函数(有两个参数)
2024-08-16 19:36:52
599
原创 代码随想录刷题day2丨209.长度最小的子数组,59.螺旋矩阵II,区间和,开发商购买土地,数组专题总结
数组是存放在连续内存空间上的相同类型数据的集合。数组下标都是从0开始的。数组内存空间的地址是连续的数组的元素是不能删的,只能覆盖。数组的经典题目循环不变量原则暴力解法时间复杂度:O(n)二分法时间复杂度:O(logn)通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。暴力解法时间复杂度:O(n^2)双指针时间复杂度:O(n)滑动窗口的精妙之处在于根据当前子序列和大小的情况,不断调节子序列的起始位置。从而将O(n^2)的暴力解法降为O(n)。
2024-08-15 16:22:26
692
原创 request 和 response
获取请求数据的请求头,请求行,请求体tomcat 会把请求数据解析,并且存储在 request 对象中,然后我们直接从 servlet 对象中取就可以用了:响应数据的响应头,响应行,响应体业务的封装数据设置到响应数据包中来封装数据进 response 对象中,tomcat 会把封装数据解析成特定格式返回给浏览器。
2024-05-20 13:53:09
743
原创 2024.5.19 MVC 与 三层架构
负责界面的显示,以及与用户的交互功能,例如表单、网页等。可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳回到哪一个视图。即用来连接视图和模型。实际开发中,通常用控制器对客户端的请求数据进行封装(如将form表单发来的若干个表单字段值,封装到一个实体对象中),然后调用某一个模型来处理此请求,最后再转发请求(或重定向)到视图(或另一个控制器)。模型持有所有的数据、状态和程序逻辑。模型接受视图数据的请求,并返回最终的处理结果。
2024-05-19 14:05:59
363
原创 JSON学习心得2024.5.9
因为JSON格式仅仅是文本,它能够轻松地在服务器浏览器之间传输,并用作任何编程语言的数据格式。因为JSON语法由JavaScript对象标记法衍生而来,所以很少需要其他额外的软件来处理JavaScript中的JSON。因此,如果以JSON格式从服务器接收数据,那么可以像JavaScript对象一样使用它。通过JSON.parse()解析数据,这些数据会成为JavaScript对象。而在JavaScript中,字符串可以由双引号和单引号编写。在JSON中,键必须是字符串,由双引号包围。
2024-05-09 11:25:33
240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人