作者:小迅
链接:https://leetcode.cn/problems/find-the-pivot-integer/solutions/2320800/qian-zhui-he-zhu-shi-chao-ji-xiang-xi-by-e4yp/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
题目
示例
思路
题意 -> 给你一个正整数 n ,找出满足下述条件的 中枢整数 x :
- 1 和 x 之间的所有元素之和等于 x 和 n 之间所有元素之和。
先将数组和求出,再从头枚举每一个位置,判断当前位置是否满足题意要求,即可。
- 如何判断当前位置是否满足题意?
- 当前位置左边前缀和是否等于右边前缀和
代码注释超级详细
代码
int pivotInteger(int n){
int sum = 0;
for (int i = 0; i <= n; ++i) {
sum += i;//记录前缀和
}
int temp = 0;
for (int i = 1; i <= n; ++i) {
temp += i;//记录左边前缀和
if (temp == sum) return i;
sum -= i;//记录右边前缀和
}
return -1;
}
作者:小迅
链接:https://leetcode.cn/problems/find-the-pivot-integer/solutions/2320800/qian-zhui-he-zhu-shi-chao-ji-xiang-xi-by-e4yp/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。