引言(文末有福利)算法一直是大厂前端面试常问的一块,而大家往往准备这方面的面试都是通过leetcode刷题。我特地整理了几道leetcode中「很有意思」而且非常「高频」的算法题目,分别给出了思路分析(带图解)和代码实现。认真仔细的阅读完本文,相信对于你在算法方面的面试一定会有不小的帮助!两数之和 ❝题目难度easy,涉及到的算法知识有数组、哈希表❞题目描述给定一个整数数组 nums 和一个目标
原创
2021-01-27 14:30:39
579阅读
算法一直是大厂前端面试常问的一块,而大家往往准备这方面的面试都是通过leetcode刷题。我特地整理了几道leetcode中「很有意思」而且非常「高频」的算法题目,分别给出了思路分析(带图解)和代码实...
转载
2021-07-15 16:15:03
617阅读
选进来的,都是我二刷之后确定我自己会做的。文章目录1、矩阵置零思路:代码实现:2、字母异位词分组思路:代码实现:3、无重复字符的最长子串思路:代码实现:4、两数相加代码实现:5、奇偶链表思路代码实现:6、相交链表思路:代码实现:1、矩阵置零给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], .
原创
2021-05-12 17:39:51
217阅读
本来想把三个月的题目全部重新做一遍,筛选一遍,再一次性发。but眼看今天就断更了,算了算了,筛选到了链表部分了。注:本系列只记录奇技淫巧,不选入特殊数据结构如map、set、哈希等解法的题目。要找数据结构,我建议点这里嘿嘿文章目录1、删除排序数组中的重复项2、买卖股票的最佳时机 II3、移动零4、整数反转5、反转链表6、回文链表1、删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原
原创
2021-05-12 17:39:54
326阅读
1、二叉树的层序锯齿形遍历给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]思路说白了就是层序遍历加上定层翻转而已。代码实现vector<vector<int>> zi
原创
2021-05-12 17:39:47
270阅读
文章目录1、位1的个数方法 1:循环和位移动方法 2:位操作的小技巧代码实现:2、汉明距离思路:代码实现:3、旋转数组4、除自身以外数组的乘积思路:代码实现:5、合并K个有序链表(困难)思路:代码实现:6、数组中第K个最大元素思路:复杂度分析:代码实现:1、位1的个数编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 000000000
原创
2021-05-12 17:39:49
207阅读
一、盛最多水的容器此题为leetcode第11题思路:用两个指针指向数组的头尾,以上面的1、7为例,此时水的容量为min(1, 7) * 8=8。然后考虑移动指针,因为水的容量是由最小的那个数决定的,所以应该移动数小的那个指针,这样后面才有机会得到一个大数,使得水的容量变大。class Solution: def maxArea(self, height: List[int]) -> int: if len(height) < 2: retu
原创
2021-12-04 15:29:50
333阅读
# 在Java中实现LeetCode高频题PDF生成
在软件开发中,解决问题和算法练习是非常重要的一部分。LeetCode是一个广受欢迎的编码平台,它提供了丰富的编程题目。许多开发者会将这些高频题目整理成PDF以便于复习。今天,我们将一起学习如何在Java中生成LeetCode高频题的PDF。
## 整体流程
以下是实现此功能的步骤:
| 步骤 | 描述 |
|------|------|
选进来的,都是我二刷之后确定我自己会做的。文章目录9、二叉树的最大深度10、对称二叉树12、二叉树的层序遍历13、将有序数组转换为二叉搜索树14、爬楼梯9、二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。代码实现:int maxDepth(TreeNode* root) { if(root == NULL) return 0; return 1 + max(maxDepth(r.
原创
2021-05-12 17:39:52
273阅读
目录递归70. 爬楼梯(简单)递归(自顶向下)递归+哈希表循环解法(自底向上)509. 斐波那契数(简单)递归(自顶向下)递归+哈希表循环解法(自底向上)哈希表1. 两数之和(简单)暴力哈希表数组88. 合并两个有序数组(简单)暴力空间换时间逆序遍历283. 移动零(简单)双指针448. 找到所有数组中消失的数字(简单)链表21. 合并两个有序链表(简单)83. 删除排序链表中的重复元素(简单)
转载
2023-12-16 18:21:17
361阅读
引言半年时间,几千人参与,精选大厂前端面试高频 100 题,这就是「壹题」。在 2019 年 1 月 21
转载
2021-07-15 14:03:51
1934阅读
题目描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?思路:第一阶楼梯:n =1,有一种方法 f(1)=1;第二阶楼梯:n =2,有两种方法 f(2)=2;当我们第一步爬了1个台阶时,我们可以有f(n-1)种方法爬到楼顶;当我们第一步爬了2个台阶时,我们可以有f(n-
原创
精选
2023-11-05 23:17:18
327阅读
今天字节三面结束了,超越妹妹保佑我通过吧!
转载
2021-06-21 10:25:45
1086阅读
Tencent-50-Leetcode? 腾讯精选练习 50 题 ? ⚡ ? 如果你有问题2. 两数相加4. 寻找两个正序数组的中位数5. 最长回文子串7. 整数反转8. 字符串转换整数 (atoi)9. 回文数11. 盛最多水的容器14. 最长公共前缀15. 三数之和16. 最接近的三数之和20. 有效的括号21. 合并两个有序链表23. 合并K个升序链表26. 删除有序数组中的重复
原创
2022-10-19 22:00:18
83阅读
算法是程序员的内功,掌握算法不仅能帮助你在面试中过关斩将,赢取 Dream Offer,更能充分锻炼你的逻辑思维与底层能力
原创
2022-10-25 00:12:14
118阅读
文章目录1.动态规划2.堆3.二叉树4.二分查找5.广度优先搜索6.哈希表7.回溯算法8.链表频率题目分享给大家...
转载
2023-04-04 13:14:34
110阅读
《LeetCode高频50题最优解笔记》精选了面试中最常见的50道算法题目,涵盖数组、链表、二叉树、动态规划等核心题型。每道题
LeetCode 高频 50 题:最优解笔记
高频 50 题题目列表
两数之和 (Two Sum)
反转链表 (Reverse Linked List)
有效的括号 (Valid Parentheses)
买卖股票的最佳时机 (Best Time to Buy and Sell Stock)
二叉树的层序遍历 (Binary Tree Level Order Traversal)
最大子序和 (
题目:给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]代码实现:class Solut
原创
精选
2022-10-30 19:33:29
222阅读
单例模式class Singleton{public: ~Singleton(){ cout<<"destructor called!"<<endl; } //Singleton(const Singleton&)=delete; //Singleton& operator=(const Singleton&)=delete; static Singleton& get_instance()
原创
2021-11-08 16:44:19
206阅读