这是我第一题的做法,时间复杂度O(1) public static int solution(int n) { int x = (int)Math.sqrt(2 * n) - 1; int rest = n - (x + 1) * x / 2; int result = x * (x + 1) * (2 * x + 1) / 6; result += rest * (x + 1); return result; }
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务