【每日一题Day248】LC2485找出中枢整数 | 数学

简介: 【每日一题Day248】LC2485找出中枢整数 | 数学

找出中枢整数【LC2485】

给你一个正整数 n ,找出满足下述条件的 中枢整数 x

  • 1x 之间的所有元素之和等于 xn 之间所有元素之和。

返回中枢整数 x 。如果不存在中枢整数,则返回 -1 。题目保证对于给定的输入,至多存在一个中枢整数。

思路

枚举x,记录1 和 x 之间的所有元素之和和 x 和 n 之间所有元素之和。如果相等,那么返回x

1 和 n 之间的所有元素之和

实现

class Solution {
    public int pivotInteger(int n) {
        int right = (n + 1) * n / 2;
        int left = 0;
        for (int i = 1; i <= n; i++){
            left += i;
            if (left == right){
                return i;
            }
            right -= i;
        }
        return -1;
    }
}

复杂度分析

  • 时间复杂度:O(n)
  • 空间复杂度:O(1)
目录
相关文章
|
5月前
|
机器学习/深度学习
【每日一题Day263】LC2544交替数字和 | 数学
【每日一题Day263】LC2544交替数字和 | 数学
25 0
|
5月前
|
存储 人工智能 算法
【每日一题Day348】LC137只出现一次的数字Ⅱ | 状态转移
【每日一题Day348】LC137只出现一次的数字Ⅱ | 状态转移
27 0
|
5月前
|
算法
【每日一题Day363】LC275H 指数Ⅱ | 二分答案
【每日一题Day363】LC275H 指数Ⅱ | 二分答案
35 0
|
5月前
【每日一题Day282】LC2681英雄力量 | 排序+数学
【每日一题Day282】LC2681英雄力量 | 排序+数学
17 0
|
5月前
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
17 0
|
5月前
|
算法
【每日一题Day347】LC136只出现一次的数字 | 位运算
【每日一题Day347】LC136只出现一次的数字 | 位运算
31 0
|
5月前
|
算法
【每日一题Day349】LC260只出现一次的数字 III | 位运算
【每日一题Day349】LC260只出现一次的数字 III | 位运算
20 0
|
5月前
【每日一题Day119】LC1250检查好数组 | 数学
【每日一题Day119】LC1250检查好数组 | 数学
28 0
|
5月前
【每日一题Day299】LC2235两整数相加
【每日一题Day299】LC2235两整数相加
19 0
|
5月前
【每日一题Day350】LC2652倍数求和 | 数学+容斥原理
【每日一题Day350】LC2652倍数求和 | 数学+容斥原理
23 0