![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 59
曾小二的秃头之路
一个默默学习的小小程序员
展开
-
同构字符串
给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。t。原创 2022-10-07 14:51:13 · 177 阅读 · 0 评论 -
一维数组的动态和
给你一个数组nums。。请返回nums的动态和。原创 2022-10-07 09:56:08 · 174 阅读 · 0 评论 -
HR 面试问题总结
HR 面试题目原创 2022-07-24 11:25:46 · 222 阅读 · 0 评论 -
每日一题:相对名次
506 相对名次506. 相对名次给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分。所有得分都 互不相同 。运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推。运动员的名次决定了他们的获奖情况:名次第 1 的运动员获金牌 "Gold Medal" 。名次第 2 的运动员获银牌 "Silver Medal" 。名次第 3 的运动员获铜牌 "Bronze Medal" 。从名次第原创 2021-12-02 11:14:30 · 88 阅读 · 0 评论 -
每日一题:连续字符
连续字符1446. 连续字符给你一个字符串 s ,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串的能量。示例 1:输入:s = "leetcode"输出:2解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。示例 2:输入:s = "abbcccddddeeeeedcba"输出:5解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。示例 3:输入:s = "triplepillooooow"输出:5示例 4:原创 2021-12-01 09:25:01 · 396 阅读 · 0 评论 -
栈:20. 有效的括号
20. 有效的括号20. 有效的括号给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出原创 2021-09-10 14:42:31 · 101 阅读 · 0 评论 -
链表:876. 链表的中间结点
876. 链表的中间结点876. 链表的中间结点给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.val = 4, ans.next.next.val = 5原创 2021-09-09 10:29:20 · 163 阅读 · 0 评论 -
链表:19. 删除链表的倒数第 N 个结点
19. 删除链表的倒数第 N 个结点19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。**进阶:**你能尝试使用一趟扫描实现吗?示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300原创 2021-09-08 11:57:36 · 201 阅读 · 0 评论 -
链表:21. 合并两个有序链表
21. 合并两个有序链表合并两个有序链表将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:list1 = [1,2,4], list2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:list1 = [], list2 = []输出:[]示例 3:输入:list1 = [], list2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50]-100 <= Node.原创 2021-09-07 10:45:05 · 4417 阅读 · 0 评论 -
链表:141. 环形链表
141. 环形链表141. 环形链表给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量)内存解决此问题吗?示例 1:原创 2021-09-06 10:49:57 · 93 阅读 · 0 评论 -
链表:206. 反转链表
206. 反转链表206. 反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000]-5000 <= Node.val <= 5000进阶: 链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?原创 2021-09-05 10:53:46 · 92 阅读 · 0 评论 -
华为面试手写题目:检查一个字符串是否可以打破另一个字符串
华为面试手写题目:检查一个字符串是否可以打破另一个字符串1433. 检查一个字符串是否可以打破另一个字符串给你两个字符串 s1 和 s2 ,它们长度相等,请你检查是否存在一个 s1 的排列可以打破 s2 的一个排列,或者是否存在一个 s2 的排列可以打破 s1 的一个排列。字符串 x 可以打破字符串 y (两者长度都为 n )需满足对于所有 i(在 0 到 n - 1 之间)都有 x[i] >= y[i](字典序意义下的顺序)。示例 1:输入:s1 = "abc", s2 = "xya"原创 2021-08-21 19:00:06 · 132 阅读 · 0 评论 -
华为二面算法题:寻找峰值
寻找峰值162. 寻找峰值难度中等496收藏分享切换为英文接收动态反馈峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。示例 1:输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例 2:输入:nums = [1,2,1,3,5,6,4]输出:1 或 5 解原创 2021-08-19 15:14:50 · 195 阅读 · 0 评论 -
华为 OD 面试题目:根据身高重建队列
华为 OD 面试题目:根据身高重建队列406. 根据身高重建队列假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人原创 2021-08-18 15:19:58 · 819 阅读 · 0 评论 -
551 学生出勤记录 I
551 学生出勤记录 I551. 学生出勤记录 I给你一个字符串 s 表示一个学生的出勤记录,其中的每个字符用来标记当天的出勤情况(缺勤、迟到、到场)。记录中只含下面三种字符:'A':Absent,缺勤'L':Late,迟到'P':Present,到场如果学生能够 同时 满足下面两个条件,则可以获得出勤奖励:按 总出勤 计,学生缺勤('A')严格 少于两天。学生 不会 存在 连续 3 天或 3 天以上的迟到('L')记录。如果学生可以获得出勤奖励,返回 true ;否则,返回原创 2021-08-17 15:12:25 · 102 阅读 · 0 评论 -
最长公共前缀
最长公共前缀14. 最长公共前缀 - 力扣(LeetCode) (leetcode-cn.com)编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示:1 <= strs.length <= 2000 <= s原创 2021-08-13 10:46:01 · 70 阅读 · 0 评论 -
华为OD面试题:数组构建二叉树
华为OD面试题:数组构建二叉树华为面试手写题目:根据一个数组,构建一颗二叉树,并且使用中序遍历验证输出例如:输入数组 [1, 2, 3, null, null, 4, 5]则构建的二叉树为 1 / \ 2 3 / \ 4 5然后对其进行中序遍历输出:[2, 1, 4, 3, 5]题解如下:第一步:根据数组创建一颗二叉树/** * 根据数组创建一颗二叉树 */public static TreeNode constructTree(Integer原创 2021-08-12 11:43:30 · 1529 阅读 · 0 评论 -
华为OD面试题目:n 个成对的括号
华为OD面试题目:n 个成对的括号https://leetcode-cn.com/problems/bracket-lcci设计一种算法,打印 n 对括号的所有合法的(例如,开闭一一对应)组合。说明:解集不能包含重复的子集。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]深度优先算法 (DFS) + 剪枝class Solution { public List<S原创 2021-08-10 14:17:26 · 389 阅读 · 0 评论 -
JAVA实现十大基本排序算法
基本排序算法排序是计算机的核心内容,快速排序算法一直推动计算机的发展,同时也可以为我们工作生活提供一些有益的优化,帮助我们了解管理与社会的本质。0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。0.2 算法复杂度术语说原创 2020-05-26 23:12:30 · 2050 阅读 · 0 评论 -
递四方(4PX)一面
递四方(4PX)一面自我介绍介绍自己的项目介绍自己项目的架构创建线程的三种方法bean注入的三种方法spring中的事务管理器mq如何确保消息的可靠性mysql的最左匹配前缀是什么原理java的集合假如给你一个项目,你会从哪里开始入手去学习这个项目...原创 2020-04-12 00:10:33 · 471 阅读 · 0 评论 -
2020速游面经(服务端开发二面)
2020速游面经(服务端开发二面)由于本人是java开发去面试的,所以问的问题都会偏向与java方面的。自我介绍项目java语言的特点java的反射ioc和aopservlet的生命周期如何设计一个秒杀系统如何防止库存超卖(我说使用redis)不使用redis,设计一个又快又安全的方案(不好意思,真没想到,说加锁,这个又太慢了,哎,有大佬知道的话指点我一下)mysql的事务...原创 2020-03-24 18:23:18 · 1097 阅读 · 0 评论