【每日一题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)
目录
相关文章
|
6月前
|
机器学习/深度学习
【每日一题Day263】LC2544交替数字和 | 数学
【每日一题Day263】LC2544交替数字和 | 数学
48 0
|
6月前
|
存储 人工智能 算法
【每日一题Day348】LC137只出现一次的数字Ⅱ | 状态转移
【每日一题Day348】LC137只出现一次的数字Ⅱ | 状态转移
46 0
|
6月前
【每日一题Day312】LC2240买钢笔和铅笔的方案数 | 完全背包 数学
【每日一题Day312】LC2240买钢笔和铅笔的方案数 | 完全背包 数学
59 0
|
6月前
|
算法
【每日一题Day363】LC275H 指数Ⅱ | 二分答案
【每日一题Day363】LC275H 指数Ⅱ | 二分答案
55 0
|
6月前
【每日一题Day282】LC2681英雄力量 | 排序+数学
【每日一题Day282】LC2681英雄力量 | 排序+数学
31 0
|
6月前
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
42 0
|
6月前
|
算法
【每日一题Day349】LC260只出现一次的数字 III | 位运算
【每日一题Day349】LC260只出现一次的数字 III | 位运算
44 0
|
6月前
|
算法
【每日一题Day347】LC136只出现一次的数字 | 位运算
【每日一题Day347】LC136只出现一次的数字 | 位运算
49 0
|
6月前
【每日一题Day171】LC1125最小的必要团队 | 01背包 位运算
【每日一题Day171】LC1125最小的必要团队 | 01背包 位运算
44 1
|
6月前
|
机器人
【每日一题Day174】LC1041困于环中的机器人 | 模拟 位运算
【每日一题Day174】LC1041困于环中的机器人 | 模拟 位运算
48 0