- 博客(19)
- 收藏
- 关注
原创 算法刷题笔记12 | 第五章 栈与队列P3 | 239. 滑动窗口最大值、347.前 K 个高频元素、栈与队列总结
可以出一道面试题:栈里面的元素在内存中是连续分布的么?陷阱1:栈是容器适配器,底层容器使用不同的容器,导致栈内数据在内存中是不是连续分布。陷阱2:缺省情况下,默认底层容器是deque,那么deque的在内存中的数据分布是什么样的呢?答案是:不连续的,下文也会提到deque。在 用栈与队列:栈实现队列和栈与队列:队列实现栈中,值得一提的是,用栈与队列:队列实现栈中,其实只用一个队列就够了。
2025-02-08 16:48:35
844
原创 算法刷题笔记11/60 | 第五章 栈与队列P2 | 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
思路:用HashMap存储对应左右括号信息,创造两个栈。一个栈插入左括号,一个栈根据key值插入右括号。当插入右括号时,如与第二个栈相同,第一个左括号则匹配成功,出栈。
2025-02-08 16:44:52
171
原创 前端调优——大数据量浏览器卡顿优化思路
Web Workers 是解决大数据量运算导致页面卡顿问题的强大工具。通过将计算任务移到后台线程,主线程可以专注于 UI 渲染和用户交互,显著提升页面的流畅度和用户体验。这个 API 的主要目的是提高页面的流畅度和响应性,尤其是在需要执行较轻量的后台任务时,比如日志记录、数据预加载等。是一种浏览器 API,它允许开发者在浏览器的空闲时间执行非紧急的后台任务,而不会影响关键的渲染和用户交互操作。拆分成多个小任务并分批执行。这样可以在两次任务之间让浏览器有时间处理渲染、用户输入等操作。
2025-02-06 11:40:25
1041
原创 算法刷题笔记09 | 第四章 字符串P2 | 28. 实现 strStr()、字符串总结 、双指针回顾
当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。next数组是一个前缀表,用来回退的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。创造了next数组后达到以下效果:防止再次从头开始匹配在344.反转字符串中,反转字符串实现较简单,但打基础的时候,不要太迷恋于库函数。建议如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。如果库函数仅仅是 解题过程中的一小部分,并且你已经很清楚这个库函数的内部实现原理的话,可以考虑使用库函数。
2025-02-06 10:59:53
828
原创 算法刷题笔记08 | 第四章 字符串P1 | 344. 反转字符、541. 反转字符II、剑指05、151. 翻转字符串里的单词、剑指58-II
难度较低 思路:遍历数组,有空格就替换(使用StringBuffer操作字符串)
2025-02-06 10:50:40
115
原创 算法刷题笔记07 | 第三章 哈希表P2 | 454. 四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
思路:把两个,组内的两组合并求和与另一组相比较,如果存在元素则数据结构:由于数字相加后很大可能为相同的 Set里不存储重复元素 需要用Map计数,因此选用HashMap。
2025-02-06 10:43:29
291
原创 算法刷题笔记03 算法进阶篇 - 数组
和平常的二分查找一样查找完之后滑动指针寻找左右边界// 二分查找else {// 滑动左右指针left--;right++;return -1;
2025-02-06 09:38:11
757
原创 算法刷题笔记06 | 第三章 哈希表P1 | Java中哈希表理论 242.有效字母异位词、349. 两个数组交集、202. 快乐数、1. 两数之和
总结一下,**当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法**。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!
2025-01-27 14:51:42
517
原创 算法刷题笔记05 | 第二章 链表P2 | 24. 交换链表节点、19. 删除链表倒数第N个节点、(面试题)160. 链表相交、142环形链表II
重点是画图把哪个指针指哪里弄清楚 思路:三指针实现两个元素,分别指向对应元素以及前一个实现互换。
2025-01-27 14:45:32
324
原创 算法刷题笔记04 | 第二章 链表P1 | 203. 移除链表元素、707.设计链表、206.反转链表
链表节点的定义,很多同学在面试的时候都写不好。这是因为平时在刷leetcode的时候,链表的节点都默认定义好了,直接用就行了,所以同学们都没有注意到链表的节点是如何定义的。而在面试的时候,一旦要自己手写链表,就写的错漏百出。// 成员变量:// 结点的值int val;// 下一个结点// 成员方法// 节点的构造函数(无参)// 节点的构造函数(有一个参数)// 节点的构造函数(有两个参数)
2025-01-27 14:42:28
332
原创 算法刷题笔记02 | 第一章 数组P2 | 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵II
要在二分查找的过程中,保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作,这就是。
2025-01-27 14:36:53
211
原创 jsonp解决前端跨域问题
各位大佬我们今天聊聊前端热门八股-跨域问题那什么叫从一个域到另一个域呢?在 Web 开发中,"域"(或"源")是指一个特定的协议、域名和端口的组合。浏览器的同源策略限制了从一个源加载的文档或脚本与另一个源的资源进行交互。理解域的概念对于理解跨域资源共享(CORS)非常重要。
2025-01-27 10:51:30
1083
原创 浏览网站时为什么老是要我接受Cookie
我们在浏览网站时,尤其是一些国外网站的时候,经常会出现这样的弹框,提醒你接受全部Cookie;如果不接受,有些弹框甚至会一直出现,不让你访问;那么这个弹框为什么要出现呢?如果你接受了,对你后续浏览网站会有啥影响呢?你的隐私是否会泄露呢?带着这么多的疑惑本文就带你一探究竟。
2025-01-27 10:48:32
1203
原创 千万级的大表,如何做性能优化?
大表优化是一个老生常谈的话题,但随着业务规模的增长,总有人会“中招”。很多小伙伴的数据库在刚开始的时候表现良好,查询也很流畅,但一旦表中的数据量上了千万级,性能问题就开始浮现,查询慢、写入卡、分页拖沓、甚至偶尔直接宕机。这时大家可能会想,是不是数据库不行?是不是需要升级到更强的硬件?其实很多情况下,根本问题在于没做好优化。今天,我们就从问题本质讲起,逐步分析大表常见的性能瓶颈,以及如何一步步优化。大表性能优化是一个系统性工程,需要从表结构、索引、SQL到架构设计全方位考虑。
2025-01-27 10:22:32
632
原创 2025年01月 GitHub 十大热门项目排行榜 [特殊字符]
欢迎来到2025年01月的 GitHub热门项目前十排行榜!这些项目在 GitHub上引起了广泛关注,无论你是开发者、数据科学家,还是科技爱好者,下面的项目都在不同领域展示了最新的技术和创新。🌟 Star24.6K🚀AI您的AI第二大脑,可自托管。通过网络或您的文档获取答案,打造个性化的智能助手。支持自定义代理、安排自动化任务、进行深度研究。将任何在线或本地的大语言模型(如GPTClaudeGeminiLlamaQwenMistral)变成您的私人自主AI。免费开始使用,即刻体验!您的AI。
2025-01-27 10:09:08
1976
原创 震惊! 又有一家国产IDE发布了 ,支持AI辅助编程,轻松解放程序员大脑!
今日,字节发布了一款 AI Coding 产品 —— Trae,它是一款对标 Cursor 和 Windsurf 的全新 IDE,也是一款真正为中文开发者量身定制的工具,可谓是中文开发者的福音。其优雅的 UI、丝滑的交互、母语级的支持、更高的 AI 集成度、更然自的交式互对话开发、更精准的 AI 生效成果,都让你感到亲切和惊艳!它不再是一个工具,而是一个能 “思考” 和 “共创” 的协作者,帮助你更灵活的调用 AI 参与项目,实现更高效率、更好效果的开发体验。目前 Trae 内置。
2025-01-27 09:49:42
1100
原创 vue3 到底要不要用pinia !
经过我的努力,vue3又减少了一个库的使用,我就说不需要用pinia,不过放弃pinia也就意味着放弃了它自带的一些方法等等,这些方法实现很简单,很轻松就可以手写出来,如果你是这些方法的重度用户,保留pinia也没问题,如果你也想代码更加精简,赶紧尝试下组合式函数吧。
2025-01-27 09:43:54
145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人