当前位置: 首页 > news >正文

LeetCode-2485-找出中枢整数

题目描述:
给你一个正整数 n ,找出满足下述条件的 中枢整数 x :
1 和 x 之间的所有元素之和等于 x 和 n 之间所有元素之和。
返回中枢整数 x 。如果不存在中枢整数,则返回 -1 。题目保证对于给定的输入,至多存在一个中枢整数。

题目链接:LeetCode-2485-找出中枢整数

解题思路:
方法一:双指针:一前一后走,当sumLeft == sumRight并且i==j时退出while循环
方法二:根据数学公式推导

方法一代码实现:

class Solution {public int pivotInteger(int n) {// 双指针:一前一后走,当sumLeft == sumRight并且i==j时退出while循环int i = 1, j = n;int sumLeft = 1, sumRight = n;int sum=n*(n+1)/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 sum=n*(n+1)/2;int tmp=(int) Math.sqrt(sum);return tmp*tmp==sum ? tmp:-1;}
}
http://www.lryc.cn/news/186666.html

相关文章:

  • nano pi m1配置脚本(全志H3)
  • linux--gdb的使用
  • JVM命令行监控工具
  • 系统架构设计:4 论微服务架构及其应用
  • 【C++设计模式之建造者模式:创建型】分析及示例
  • C++day03(动态内存、类中特殊成员函数)
  • 【Leetcode】179. 最大数
  • ArduPilot开源飞控之AP_Baro_MSP
  • openGauss学习笔记-94 openGauss 数据库管理-访问外部数据库-mysql_fdw
  • UML图 - 类图(Class Diagram)
  • sheng的学习笔记-【中文】【吴恩达课后测验】Course 2 - 改善深层神经网络 - 第二周测验
  • Nacos 监控手册
  • 项目需求分析5大常见问题及解决方案
  • C#学习系列相关之多线程(四)----async和await的用法
  • 极智AI | 大模型优化之KV Cache
  • Android 使用 registerForActivityResult() 打开系统相册或相机获取图像
  • 如何制作网页 ico
  • golang gorm 增删改查以及使用原生SQL(以操作mysql为例)
  • 代码随想录 单调栈part2
  • 详解利用高斯混合模型拆解多模态分布 + 精美可视化
  • 排序算法之【归并排序】
  • Qt中QTimer定时器的用法
  • vue-组件定义注册使用
  • 斑馬打印機打印中文
  • (一)Apache log4net™ 手册 - 介绍
  • 基于Java的民宿管理系统设计与实现(源码+lw+部署文档+讲解等)(民宿预约、民宿预订、民宿管理、酒店预约通用)
  • 039:mapboxGL更换地图上的鼠标样式
  • 【云原生】K8S对外服务之Ingress
  • 分布式锁如何实现
  • Mysql存储-EAV模式