cosine
余弦の博客
= WA 的一声就哭了 =
文章列表
2022-03-13
1459 字
文章介绍了三道编程题的解题思路与代码实现: - 33. 搜索旋转排序数组:通过两次二分查找旋转分界点,判断目标值在左半段还是右半段,时间复杂度为 O(log n); - 54. 螺旋矩阵:模拟顺时针遍历过程,按右→下→左→上的顺序处理边界,实现螺旋输出; - bytedance-006. 夏季特惠:转化为01背包问题,关键在于将每个游戏的优惠金额作为“收益”,在预算约束下最大化快乐值,注意处理优惠与实际花费的关系。
2022-03-12
1060 字
文章总结了三道中等至困难的LeetCode题目:通过数学方法解决整数反转问题,利用快速排序或直接排序找出数组中第K个最大元素,以及使用暴力或优先队列合并K个已排序的链表。每道题均提供了思路与代码实现,强调了在有限环境下对算法效率和边界条件的处理。
2022-03-12
2301 字
文章总结了作者在美团笔试中遇到的五道题目及其解题思路和结果:幸运数、乘积为正、做饭、炸弹、黑白树涂色。其中前两题和最后一题AC率高,分别为签到题和树结构遍历问题,第三题为状压DP的典型应用,第四题为贪心策略但实现复杂度较高,整体反映了笔试题目的难度分布和解题思路。
2022-03-11
757 字
这篇文章介绍了作者基于 React 封装的 Ant Design DatePicker 日期选择框组件,实现了日、月、年三个面板的交互功能,支持日期选择、面板切换、箭头导航及输入实时更新。通过 ref 判断点击事件位置实现外部关闭功能,并提供了默认日期设置和日期变化回调等对外 API,整体结构清晰,虽有优化空间但展现了自定义组件开发的乐趣与学习过程。
2022-03-11
944 字
文章总结了每日编程题的解题思路与核心知识点:通过哈希表解决“两数之和”,用双指针法处理“三数之和”并避免重复,利用单调栈求解“接雨水”问题,涵盖数组操作、双指针和单调栈等常用算法技巧,难度由简单到困难,适用于春招笔试面试准备。
2022-03-10
1098 字
文章介绍了三道面试题的解题思路与代码实现:206. 反转链表通过遍历指针交换实现;199. 二叉树的右视图使用BFS按层遍历,记录每层最右侧节点;字节跳动题16. 最短移动距离通过模拟松鼠移动和房间分配,利用树的父子关系和贪心策略求解最短总移动距离。
2022-03-09
964 字
文章总结了三道经典算法题:14. 最长公共前缀通过逐字符比对找出字符串数组的共同前缀;3. 无重复字符的最长子串使用滑动窗口和哈希表记录字符出现情况,求解最长不重复子串长度;124. 二叉树中的最大路径和通过递归遍历每个节点,计算左右子树最大路径和,并更新全局最大值,处理负值情况。三题分别涉及字符串、滑动窗口和二叉树,难度由简单到困难,逻辑清晰,代码简洁。
2022-03-08
1438 字
文章总结了三天链表相关题目的学习与解题思路:通过递归合并两个有序链表、使用双向链表实现LRU缓存(支持O(1)时间复杂度的get和put操作),以及分段反转链表(每k个节点一组翻转,不足k个则保持原序)。重点强调了链表操作中的边界处理和指针管理,如反转时prev指针的正确设置。
2022-02-15
5208 字
本文系统介绍了 Redux 的核心概念与实现原理,包括单一不可变状态树、状态只读、通过 Action 触发状态变化、使用纯函数(Reducer)描述状态变更等三大原则,并通过一个简易计数器示例演示了 Reducer 的编写与测试。文章还详细解释了 createStore 的核心方法:getState、dispatch 和 subscribe 的作用与实现机制,帮助学习者理解 Redux 的状态管理逻辑与实际应用流程。
2022-02-09
2871 字
本文介绍了JavaScript中常用的设计模式,包括单例模式、观察者模式(发布订阅)、原型模式、代理模式和迭代器模式,并结合浏览器和前端框架(如React)的实际应用场景进行说明。文章强调设计模式并非万能解决方案,其真正价值在于实际项目中的应用与实践,建议通过学习优秀开源项目来深入理解与掌握。