LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少

LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少?

提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目
互联网大厂们在公司养了一大批ACM竞赛的大佬们,吃完饭就是设计考题,然后去考应聘人员,你要做的就是学基础树结构与算法,然后打通任督二脉,以应对波云诡谲的大厂笔试面试题!
你要是不扎实学习数据结构与算法,好好动手手撕代码,锻炼解题能力,你可能会在笔试面试过程中,连题目都看不懂!比如华为,字节啥的,足够让你读不懂题
在这里插入图片描述


文章目录

  • 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
LeetCode高频题:擂台赛n名战士战斗力最接近的两名战士,战斗力之差为多少_第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,大厂笔试,排序,战力之差,擂台赛)