本文主要是介绍leetcode 754. Reach a Number | 754. 到达终点数字(数学问题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
https://leetcode.com/problems/reach-a-number/
题解
一看数据规模,再看踩的数量,觉得这题不一般。。
只能想出暴力解,不用试了,肯定超时。没有想到如何 dp(dp 即便可以,O(n) 应该也会超时)
看了 答案,这是个数学问题。
时隔两天,重新理了下思路,然后实现了一下:
class Solution {public int reachNumber(int target) {int diff = -Math.abs(target);int n = 0;while (diff < 0) {diff += ++n;}if (diff % 2 == 0) {return n;} else {return (n + 1) % 2 == 0 ? n + 2 : n + 1;}}
}
这篇关于leetcode 754. Reach a Number | 754. 到达终点数字(数学问题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!