题目解析
本题其实就是15. 三数之和 - 力扣(LeetCode)的变种题
即给的一个数组steps,让你从中找出三个数,保证这三个数的和等于count。
本题的变化在于,可能存在多个三数组合满足要求,但是我们只取其中三数的索引和最小的。即我们不仅要算三数的值之和,还是算三数的索引之和。
因此,我首先根据输入的steps数组,将其转化为newSteps数组,
newSteps数组的元素是{val: steps[i], idx: i},
然后将newSteps数组按照元素的val值进行升序,若val值相同,则继续按照idx值升序。
之后,就按照leetcode三数之和的逻辑求解满足要求的三数组合,即定义一个双重循环,
外层for循环遍历newSteps每一个元素,指针为 i,然后再定义两个指针 l = i + 1, r = newSteps.length - 1,假设valSum = newSteps[i].val+ newSteps[l].val