学习电子商务网站建设与管理的感想,客户渠道,网站优化一般怎么做,知名企业营销案例100例题目描述#xff1a; 给你一个正整数 n #xff0c;找出满足下述条件的 中枢整数 x #xff1a; 1 和 x 之间的所有元素之和等于 x 和 n 之间所有元素之和。 返回中枢整数 x 。如果不存在中枢整数#xff0c;则返回 -1 。题目保证对于给定的输入#xff0c;至多存在一个中… 题目描述 给你一个正整数 n 找出满足下述条件的 中枢整数 x 1 和 x 之间的所有元素之和等于 x 和 n 之间所有元素之和。 返回中枢整数 x 。如果不存在中枢整数则返回 -1 。题目保证对于给定的输入至多存在一个中枢整数。 题目链接LeetCode-2485-找出中枢整数 解题思路 方法一双指针:一前一后走当sumLeft sumRight并且ij时退出while循环 方法二根据数学公式推导 方法一代码实现 class Solution {public int pivotInteger(int n) {// 双指针:一前一后走当sumLeft sumRight并且ij时退出while循环int i 1, j n;int sumLeft 1, sumRight n;int sumn*(n1)/2;while (i j) {if (sumLeft sumRight) {if (i j) break;i;sumLeft i;} else if (sumLeft sumRight){i;sumLeft i;}else {j--;sumRight j;}}return i j ? i : -1;}
}题解可以看官方给的解题思路传送门 方法二代码实现 class Solution {public int pivotInteger(int n) {int sumn*(n1)/2;int tmp(int) Math.sqrt(sum);return tmp*tmpsum ? tmp:-1;}
}