本文主要是介绍LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少?
提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目
互联网大厂们在公司养了一大批ACM竞赛的大佬们,吃完饭就是设计考题,然后去考应聘人员,你要做的就是学基础树结构与算法,然后打通任督二脉,以应对波云诡谲的大厂笔试面试题!
你要是不扎实学习数据结构与算法,好好动手手撕代码,锻炼解题能力,你可能会在笔试面试过程中,连题目都看不懂!比如华为,字节啥的,足够让你读不懂题
文章目录
- LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少?
- @[TOC](文章目录)
- 题目
- 一、审题
- 思路:排序,o(nlog(n)),然后一遍过,把i和i-1的差的最小值更新给min
- 总结
文章目录
- LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少?
- @[TOC](文章目录)
- 题目
- 一、审题
- 思路:排序,o(nlog(n)),然后一遍过,把i和i-1的差的最小值更新给min
- 总结
题目
擂台赛要开始了,现在有n名战士,其中第i名战士的战力为ai。
现在要从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
我就不手撕代码了
思路:
(1)排序,o(nlog(n)),
(2)然后o(n)一遍过,把arr的i和i-1的差的最小值更新给min
搞定!
总结
提示:重要经验:
1)战力之差,就是arr前后位置的差,中途有更小的差值,搞定,给min,最后做结果
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。
这篇关于LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!