首页 技术社区 数据结构与算法

数据结构与算法

盛最多水的容器:双指针法的经典应用

如何用最少的线条,围出最大的面积?这不仅是一道算法题,更是一个充满智慧的思考题。 问题引入 想象一下,我们有一排高低不一的木板,现在要用其中两块木板作为容器的两侧,其他木板全部忽略…

接雨水问题:经典数组难题

☔️ 从生活场景到算法难题:彻底搞懂「接雨水」问题 你有没有在暴雨天观察过窗外的排水管道?有没有注意到,当雨水落在高低不平的地面上时,会在低洼处积蓄起来?这看似平常的自然现象,却衍…

数组中的多数元素(摩尔投票法)

在算法世界中,寻找数组中的多数元素是一个经典问题。多数元素指的是在数组中出现次数超过⌊n/2⌋次的元素(n为数组长度)。今天我将详细介绍一种高效解决这个问题的算法——摩尔投票法(B…

寻找两个有序数组的中位数

在算法面试与前端开发的技术栈中,“寻找两个有序数组的中位数” 是一道极具代表性的经典题目。它不仅考察对数组特性的理解,更考验对时间复杂度优化的思维能力。今天,我们就来拆解这道题的核…

合并两个有序数组

在算法面试和日常开发中,合并两个有序数组是非常经典的基础算法题,它不仅考察对数组的操作能力,还能体现对「双指针」思想的理解,是必须掌握的入门级算法。 今天我就用最通俗易懂的方式,带…

杨辉三角形的多种生成方式

杨辉三角形(Pascal's Triangle)是数学中一个经典的二项式系数排列形式,它不仅在组合数学中有重要应用,也是编程学习中常见的练习题。本文将介绍几种不同的Python实现…

二维数组螺旋遍历

📝 标题:搞懂二维数组螺旋遍历:从原理到代码实现 在算法面试和日常开发中,二维数组的螺旋遍历是一个高频考点。它不仅考验我们对数组操作的熟悉程度,还能锻炼逻辑思维能力。今天我们就从原…

数组旋转问题:空间复杂度O(1)的解法

数组旋转是算法中的经典问题:给定一个数组,将数组元素向右(或向左)旋转k个位置。例如,数组 [1,2,3,4,5,6,7]向右旋转3位后变为 [5,6,7,1,2,3,4]。 最直…