农业银行算法题,为什么用初中知识出题,这么多人不会?

2023-12-14
阅读 8 分钟
405
背景介绍总所周知,有相当一部分的大学生是不会初高中知识的。因此,每当那种「初等数学为背景编写的算法题」在笔面出现,舆论往往分成"三大派":甚至那位说"致敬高考"的同学也搞岔了,高考哪有这么简单,美得你 🤣这仅仅是初中数学「几何学」中较为简单的知识点。抓住大学生对初高中知识这种「会者不难,难者不会」的现状...
封面图

浅谈动态规划

2021-07-21
阅读 9 分钟
1.8k
前言公众号目前与「动态规划」相关系列包括:已经完结的「动态规划-路径问题」和正在更新「动态规划-背包问题」。这都是默认大家有一定的「动态规划」认识的系列文章。但事实上,可能有不少同学是刚接触算法,还处于只会使用「朴素/暴力解法」来解决算法问题的阶段,对于「动态规划」并不了解。因此我特意翻出来大概是我...

【剑指 の 精选】详解「二叉树中序遍历的下一个结点」两种解法

2021-07-09
阅读 3 分钟
1.8k
题目描述这是「牛客网」上的「JZ 57 二叉树的下一个结点」,难度为「中等」。Tag : 「剑指 Offer」、「二叉树」、「中序遍历」给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的 next 指针。下图为一棵有 个节点的二叉树。树中从父节点...

【剑指 の 精选】从宏观角度看「对称二叉树」问题

2021-07-09
阅读 3 分钟
858
题目描述这是「牛客网」上的「JZ 58 对称的二叉树」,难度为「困难」。Tag : 「剑指 Offer」、「二叉树」、「层序遍历」、「迭代」、「递归」描述:请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。示例1 {代码...} 示例2 {代码...} 要求:时间:1 s空...

【剑指 の 精选】详解「删除链表中重复结点」的两种解法

2021-07-09
阅读 3 分钟
903
题目描述这是「牛客网」上的「JZ 56 删除链表中重复的结点」,难度为「较难」 。Tag : 「剑指 Offer」、「链表」、「单链表」在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表 1->2->3->3->4->4->5 处理后为 1->2->5示例 1: {代...

【剑指 の 精选】从宏观角度看「对称二叉树」问题

2021-07-06
阅读 3 分钟
867
题目描述这是「牛客网」上的「JZ 58 对称的二叉树」,难度为「困难」。Tag : 「剑指 Offer」、「二叉树」、「层序遍历」、「迭代」、「递归」描述:请实现一个函数,用来判断一棵二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。示例1 {代码...} 示例2 {代码...} 要求:时间:1 s空...

【动态规划/背包问题】背包问题第一阶段最终章:混合背包问题

2021-06-29
阅读 4 分钟
1.3k
前言今天是我们讲解 动态规划专题 中的「背包问题」的第十一篇。今天将会学习「混合背包」问题,同时也是我们「背包问题」的第一阶段的最后一节。今天首先会和大家回顾之前学过的三种背包问题。然后通过一道「混合背包」问题,来将我们之前学的几种背包问题串联起来。希望通过本篇内容,大家会对背包问题有更清晰的认识...

【动态规划/背包问题】多重背包の单调队列优化

2021-06-29
阅读 4 分钟
2.5k
前言今天是我们讲解「动态规划专题」中的 「背包问题」的第十篇。我们继续学习「多重背包の优化篇」。今天我们将学习「多重背包」的另一种优化方式:单调队列优化。第一种优化方式在:多重背包の二进制优化。另外,我在文章结尾处列举了我所整理的关于背包问题的相关题目。背包问题我会按照编排好的顺序进行讲解(每隔几...

【综合笔试题】难度 3/5,多解法 LIS 问题

2021-06-29
阅读 6 分钟
1.5k
题目描述这是 LeetCode 上的 「354. 俄罗斯套娃信封问题」 ,难度为 「困难」。给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算「最多能有多少个」信封能组...

【图论搜索专题】如何使用「多源 BFS」降低时间复杂度

2021-06-29
阅读 5 分钟
2.1k
题目描述这是 LeetCode 上的「1162. 地图分析」 ,难度为「中等」。你现在手里有一份大小为  的 网格 ,上面的每个 单元格 都用  和  标记好了。其中  代表海洋, 代表陆地,请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的。我们这里说的距离是「曼哈顿距离」: 和  这两个单元格之间的距...

【综合笔试题】难度 2.5/5,结合了「DP」和「回溯」的经典回文串题目

2021-06-24
阅读 4 分钟
1.2k
题目描述这是 LeetCode 上的 「131. 分割回文串」 ,难度为 「中等」。给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是「回文串」。返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例 1: {代码...} 示例 2: {代码...} 提示:1 <= s.length <= 16s 仅由小写英文字母组成动态...

【动态规划/背包问题】背包问题第一阶段最终章:混合背包问题

2021-06-22
阅读 4 分钟
1.3k
前言今天是我们讲解 动态规划专题 中的「背包问题」的第十一篇。今天将会学习「混合背包」问题,同时也是我们「背包问题」的第一阶段的最后一节。今天首先会和大家回顾之前学过的三种背包问题。然后通过一道「混合背包」问题,来将我们之前学的几种背包问题串联起来。希望通过本篇内容,大家会对背包问题有更清晰的认识...

【设计数据结构】实现一个 LFUCache

2021-06-21
阅读 7 分钟
1.1k
题目描述这是 LeetCode 上的 「460. LFU 缓存」 ,难度为 「困难」。Tag : 「链表」、「双向链表」、「设计」请你为 「最不经常使用(LFU)」 缓存算法设计并实现数据结构。实现 LFUCache 类:LFUCache(int capacity) - 用数据结构的容量 capacity 初始化对象int get(int key) - 如果键存在于缓存中,则获取键的值,否则...

【科学派】一份关于「如何刷题」的究极指南

2021-06-17
阅读 2 分钟
1.7k
刷题指南各位六一节快乐呀 🤣我经常会在后台收到不少小伙伴的留言,不知道该如何开始刷题。确实人的精力是有限的,盲目地从「任意起点」出发很难到达目的地。因此一份【科学派】的刷题指南尤其重要。我花了两周的时间,将写过的题解按照「自定义」的 做了分类,并结合「面经出现频率」与「个人审美」对题目做了评级。目前...

【设计数据结构】实现一个 LRUCache

2021-06-17
阅读 4 分钟
1.3k
题目描述这是 LeetCode 上的 「146. LRU 缓存机制」 ,难度为 「中等」。运用你所掌握的数据结构,设计和实现一个  LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 ...

LeetCode 第 45 场双周赛题解

2021-02-07
阅读 6 分钟
1.2k
点击 这里 可以查看更多算法面试相关内容~t1:5657. 唯一元素的和(简单)给你一个整数数组 nums 。数组中唯一元素是那些只出现恰好一次的元素。请你返回 nums 中唯一元素的和。示例 1: {代码...} 示例 2: {代码...} 示例 3 : {代码...} 提示:1 <= nums.length <= 1001 <= nums[i] <= 100朴素解法一道模...
封面图

【每日算法/刷穿 LeetCode】15. 三数之和(中等)

2021-02-06
阅读 2 分钟
1.1k
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。
封面图

【每日算法/刷穿 LeetCode】14. 最长公共前缀(简单)

2021-02-06
阅读 2 分钟
1.2k
点击 这里 可以查看更多算法面试相关内容~题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1: {代码...} 示例 2: {代码...} 提示:0 <= strs.length <= 2000 <= strs[i].length <= 200strs[i] 仅由小写英文字母组成朴素解法对每个字符串进行逐位检查,...
封面图

【每日算法/刷穿 LeetCode】13. 罗马数字转整数(简单)

2021-02-06
阅读 2 分钟
1.1k
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
封面图

【每日算法/刷穿 LeetCode】12. 整数转罗马数字(中等)

2021-02-06
阅读 2 分钟
2.1k
例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
封面图

【每日算法/刷穿 LeetCode】11. 盛最多水的容器(中等)

2021-02-06
阅读 3 分钟
1.2k
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。
封面图

【每日算法/刷穿 LeetCode】10. 正则表达式匹配(困难)

2021-02-05
阅读 3 分钟
3.3k
点击 这里 可以查看更多算法面试相关内容~题目描述给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串 s 的,而不是部分字符串。示例 1: {代码...} 示例 2: {代码...} 示例 3: {代码...} 示例...
封面图

【每日算法/刷穿 LeetCode】9. 回文数(简单)

2021-02-05
阅读 2 分钟
1.1k
点击 这里 可以查看更多算法面试相关内容~题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1: {代码...} 示例 2: {代码...} 示例 3: {代码...} 进阶:你能不将整数转为字符串来解决这个问题吗?字符串解法既然进阶里提到了不能用字符串来解决,那么三叶就提供一...
封面图

面试官问我斐波拉契数列,我从暴力递归讲到动态规划 ...

2021-02-05
阅读 9 分钟
1.6k
文章首发于公众号 宫水三叶的刷题日记,转载请联系开白名单。前言在系统学习动态规划之前,一直搞不懂「动态规划」和「记忆化搜索」之间的区别。总觉得动态规划只是单纯的难在于对“状态”的抽象定义和“状态转移方程”的推导,并无具体的规律可循。本文将助你彻底搞懂动态规划。点击 这里 可以查看更多算法面试相关内容~演...
封面图

【每日算法/刷穿 LeetCode】8. 字符串转换整数 (atoi) (中等)

2021-02-04
阅读 3 分钟
1.3k
点击 这里 可以查看更多算法面试相关内容~题目描述请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符...
封面图

【每日算法/刷穿 LeetCode】7. 整数反转(简单)

2021-02-04
阅读 2 分钟
926
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [$−2^{31}$, $2^{31}$ − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
封面图

【每日算法/刷穿 LeetCode】6. Z 字形变换(中等)

2021-02-04
阅读 3 分钟
1k
点击 这里 可以查看更多算法面试相关内容~题目描述将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: {代码...} 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。请你实现这个将字符...
封面图

【每日算法/刷穿 LeetCode】5. 最长回文子串(中等)

2021-02-04
阅读 4 分钟
1.3k
点击 这里 可以查看更多算法面试相关内容~题目描述给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad" 输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd" 输出:"bb"示例 3:输入:s = "a" 输出:"a"示例 4:输入:s = "ac" 输出:"a"提示:1 <= s.length <= 1000s 仅...
封面图

【每日算法/刷穿 LeetCode】4. 寻找两个正序数组的中位数(困难)

2021-02-04
阅读 4 分钟
1.1k
点击 这里 可以查看更多算法面试相关内容~题目描述给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 $O(log (m+n))$ 的算法解决此问题吗?示例 1:输入:nums1 = [1,3], nums2 = [2] 输出:2.00000解释:合并数组 = [1,2,3] ,中位...
封面图

【每日算法/刷穿 LeetCode】3. 无重复字符的最长子串(中等)

2021-02-04
阅读 2 分钟
796
点击 这里 可以查看更多算法面试相关内容~题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb" 输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb" 输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。*示例 3:输...
封面图