【每日一题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)
目录
相关文章
|
7月前
|
机器学习/深度学习
【每日一题Day263】LC2544交替数字和 | 数学
【每日一题Day263】LC2544交替数字和 | 数学
51 0
|
7月前
【每日一题Day312】LC2240买钢笔和铅笔的方案数 | 完全背包 数学
【每日一题Day312】LC2240买钢笔和铅笔的方案数 | 完全背包 数学
63 0
|
7月前
|
存储 人工智能 算法
【每日一题Day348】LC137只出现一次的数字Ⅱ | 状态转移
【每日一题Day348】LC137只出现一次的数字Ⅱ | 状态转移
53 0
|
7月前
【每日一题Day282】LC2681英雄力量 | 排序+数学
【每日一题Day282】LC2681英雄力量 | 排序+数学
34 0
|
7月前
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
48 0
|
7月前
【每日一题Day119】LC1250检查好数组 | 数学
【每日一题Day119】LC1250检查好数组 | 数学
51 0
|
2月前
|
存储 Java 开发者
【编程基础知识】 计算机中的数学魔法:二进制加减运算全解析
本文深入解析了计算机中二进制加减运算的原理,涵盖原码、反码和补码的概念及应用,结合具体示例,帮助读者理解计算机底层数学运算机制,适合Java开发者学习。
57 0
|
4月前
|
人工智能 算法
第一周算法设计与分析:C : 200和整数对之间的情缘
这篇文章介绍了解决算法问题"200和整数对之间的情缘"的方法,通过统计数组中每个数模200的余数,并计算每个同余类中数的组合数来找出所有满足条件的整数对(i, j),使得\( A_i - A_j \)是200的整数倍。
|
6月前
|
机器学习/深度学习 资源调度
技术经验解读:【常用】数学符号及读法大全
技术经验解读:【常用】数学符号及读法大全
79 0
|
7月前
【每日一题Day320】LC2651计算列车到站时间 | 数学
【每日一题Day320】LC2651计算列车到站时间 | 数学
49 0