LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少? 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目
互联网大厂们在公司养了一大批ACM竞赛的大佬们,吃完饭就是设计考题,然后去考应聘人员,你要做的就是学基础树结构与算法,然后打通任督二脉,以应对波云诡谲的大厂笔试面试题!
你要是不扎实学习数据结构与算法,好好动手手撕代码,锻炼解题能力,你可能会在笔试面试过程中,连题目都看不懂!比如华为,字节啥的,足够让你读不懂题
文章图片
文章目录
- LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少?
-
- @[TOC](文章目录)
- 题目
- 一、审题
- 思路:排序,o(nlog(n)),然后一遍过,把i和i-1的差的最小值更新给min
- 总结
现在要从n个战士中找2名进入擂台,请问n个战士中,战力最接近的俩战士的战力之差是多少?
一、审题 示例:
输入:
第一行输入一个正整数n表战士的数量
第二行输入n个正整数,表示n个战士的战力
1<=n<=10^5
1<=ai<=10^9
输出:
输出一行一个正数,表示答案
示例1
输入
3
3 5 5
输出
0
解释:5-5=0
示例2
输入
5
1 10 4 9 6
输出
1
解释:10-9=1
文章图片
思路:排序,o(nlog(n)),然后一遍过,把i和i-1的差的最小值更新给min 我就不手撕代码了
【大厂面试高频题之数据结构与算法|LeetCode高频题(擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少)】思路:
(1)排序,o(nlog(n)),
(2)然后o(n)一遍过,把arr的i和i-1的差的最小值更新给min
搞定!
总结
提示:重要经验:
1)战力之差,就是arr前后位置的差,中途有更小的差值,搞定,给min,最后做结果
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。
推荐阅读
- LeetCode|每日一题 leetcode 825. 适龄的朋友 java题解
- leetcode|leetcode栈和队列
- Linux|7.【刷爆LeetCode】把字符串转换成整数(多方法、多思路)
- golang|LeetCode26 删除有序数组中的重复项 Go语言
- 面试|力扣刷题记录
- 记录|leetcode刷题计划和每日刷题记录
- leetcode周赛记录|第一次打leetcode周赛复盘——第286场周赛
- leetcode刷题|LeetCode 第63场双周赛复盘
- Leetcode|leetcode:第260场周赛复盘