首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端基础-算法与数据结构
前端微白
创建于2025-06-21
订阅专栏
总结学习算法与数据结构的一些基础概念
等 1 人订阅
共14篇文章
创建于2025-06-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
仓库屋顶排水设计:双指针算法巧解接雨水问题
业务场景:智能仓库屋顶雨量监控 电商仓库由若干个矩形屋顶单元组成,每个单元高度不同。现需要通过传感器采集的屋顶高度数据,实时计算暴雨中的总蓄水量,以便自动启动排水系统维护仓库安全。 给定传感器数据 [
组合总和:深度解析电商促销系统的核心算法实践
一、问题场景:电商促销系统困境 业务需求: 某电商结算页需实现智能优惠推荐,规则如下: 可用优惠券:[20, 50, 80](满减门槛值) 用户订单金额:200元 要求输出所有组合总和=200的优惠券
搜索旋转排序数组:二分查找的极致优化
一、问题本质:旋转数组的奥秘 旋转数组指有序数组在某点旋转后得到的新数组,例如: 核心挑战: 数组局部有序,全局无序 时间复杂度必须优于 O(n) 需处理重复值和边界情况 二、暴力解法 vs 二分优化
算法 | 下一个更大的排列
我们需要实现一个函数,将数字序列重排成字典序中下一个更大的排列。如果已是最大排列,则返回最小排列(升序)。要求原地修改且只使用常数空间。 关键概念理解: 字典序:类似英文词典排序(1,2,3 < 1,
两数相除算法
🌟 真实场景:动态数据分页 你在开发一个实时金融数据仪表盘,需要在前端处理超大数据集(例如10亿条交易记录)。当用户选择“每页显示100条记录”时,前端需要快速计算总页数: 在不允许使用除法运算符的约
举一反三:删除排序数组重复项
问题本质与挑战 需求核心:在已排序数组中原地删除重复项,返回去重后长度 四大挑战: 空间限制:O(1)额外空间(禁止新建数组) 原地操作:直接修改原数组 顺序保持:保留非重复元素原始顺序 性能要求:时
K个一组翻转链表的前端工程实践与性能优化
K个一组翻转的四大挑战 组间衔接:翻转后如何无缝连接前一组尾与后一组头 边界处理:最后不足K个时保持原状(如4→5) 指针风暴:翻转时需同时操作4-5个指针(避免丢失链路) 性能陷阱:递归方案可能导致
两两交换链表节点
核心问题解析 两两交换链表节点看似简单,实则暗藏三个技术难点: 指针操作精度:四根指针需同步更新(prev→a→b→next) 边界处理:奇数链表最后一个节点保持原位 头节点丢失:交换后原链表头部会改
举一反三:合并 K 个有序链表的最小堆实现
为什么最小堆在合并有序链表中如此高效? 在处理 K 个有序链表时,最小堆的核心价值在于它能持续高效地提供当前最小值。当链表头部节点不断变化,最小堆每次都能在 O(1) 时间内找到最小值,并在 O(lo
合并K个有序链表
为什么我们需要合并有序链表? 假设你正在开发一个新闻聚合应用: 每个分类的新闻是一个按时间排序的链表 共有20个分类需要合并成全局时间线 直接合并:若简单拼接后排序,时间复杂度达 O(n log n)
举一反三:括号生成问题的动态规划解法
一、核心算法详解 动态规划解决括号生成问题的思路 这个算法基于一个精妙的观察:任何有效的括号组合都可以表示为 (A)B 的形式,其中: A 是位于第一对括号内部的有效组合 B 是位于第一对括号外部的有
括号生成算法
你在开发一个动态表单生成器,用户可以通过拖拽组件构建界面。当处理嵌套组件时(如折叠面板中的表格、弹窗内的表单),你需要生成所有可能的有效嵌套组合——这正是括号生成问题在前端的实际应用。 问题定义:寻找
链表合并:双指针与递归
作为前端工程师,链表操作看似与日常开发无关,实则隐藏在虚拟DOM对比、状态管理库等底层逻辑中。有序链表的合并正是理解这些关键机制的绝佳入口。本文将从真实场景出发,解析两种主流解法及其性能差异。 用户行
2025前端面试核心手撕算法题精选
以下是高频出现且具实际价值的20道手撕算法题,涵盖核心数据操作、异步控制、框架原理等关键模块,每道题均附可运行的代码实现和真实应用场景说明。