LeetCode 2481. Minimum Cuts to Divide a Circle【数学,几何】简单

news2024/9/27 12:15:58

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。

为了方便在PC上运行调试、分享代码文件,我还建立了相关的仓库:https://github.com/memcpy0/LeetCode-Conquest。在这一仓库中,你不仅可以看到LeetCode原题链接、题解代码、题解文章链接、同类题目归纳、通用解法总结等,还可以看到原题出现频率和相关企业等重要信息。如果有其他优选题解,还可以一同分享给他人。

由于本系列文章的内容随时可能发生更新变动,欢迎关注和收藏征服LeetCode系列文章目录一文以作备忘。

圆内一个 有效切割 ,符合以下二者之一:

  • 该切割是两个端点在圆上的线段,且该线段经过圆心。
  • 该切割是一端在圆心另一端在圆上的线段。

一些有效和无效的切割如下图所示。

给你一个整数 n ,请你返回将圆切割成相等的 n 等分的 最少 切割次数。

示例 1:

输入:n = 4
输出:2
解释:
上图展示了切割圆 2 次,得到四等分。

示例 2:

输入:n = 3
输出:3
解释:
最少需要切割 3 次,将圆切成三等分。
少于 3 次切割无法将圆切成大小相等面积相同的 3 等分。
同时可以观察到,第一次切割无法将圆切割开。

提示:

  • 1 <= n <= 100

解法 对称性

根据对称性:

  • n n n 为偶数时,每一块扇形都有对称的扇形,所以是切割 n 2 \dfrac{n}{2} 2n 次;
  • n n n 为奇数时,不存在对称性,所以是切割 n n n 次。

注意 n = 1 n=1 n=1 时无需切割。

class Solution {
    public int numberOfCuts(int n) {
        if (n == 1) return 0;
        return (n % 2 == 0) ? n / 2 : n;
    }
}

复杂度分析:

  • 时间复杂度: O ( 1 ) O(1) O(1)
  • 空间复杂度: O ( 1 ) O(1) O(1) ,仅用到若干变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/657100.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AMD——CPU微架构分析

一、SoC架构 1.1 整体架构 Zeppelin 参考链接&#xff1a;wikichip: Zeppelin 通过infinity fabric总线将单die分成多die的SoC架构&#xff0c;每个Die包含两个CPU核&#xff08;CCX&#xff09;、2各DDR通道、USB、低功耗IO以及多个IFOP和IFIS serdes接口。 如下所述中&…

【Python 随练】三数字排序

题目&#xff1a; 输入三个整数 x, y, z&#xff0c;请按照从小到大的顺序输出这三个数。 简介&#xff1a; 在本篇博客中&#xff0c;我们将使用Python代码解决一个简单的排序问题&#xff1a;如何将输入的三个整数按照从小到大的顺序进行排序并输出。我们将提供问题的解析…

力扣动态规划专题(三)完全背包 518.零钱兑换II 377. 组合总和 Ⅳ 70. 爬楼梯 322. 零钱兑换 279.完全平方数 139.单词拆分 步骤及C++实现

文章目录 完全背包一维dp数组 滚动数组 518.零钱兑换II377. 组合总和 Ⅳ70. 爬楼梯322. 零钱兑换279.完全平方数139.单词拆分 完全背包 完全背包的物品数量是无限的&#xff0c;01背包的物品数量只有一个 完全背包和01背包分许步骤一样&#xff0c;唯一不同就是体现在遍历顺序上…

JVM内存分析:Aviator低版本内存泄漏问题分析

目录 1.频繁FullGC告警 2.堆转储操作生成dump文件 3.利用MAT工具分析dump文件 3.1 大对象视图分析内存泄漏原因 3.2 Aviator框架中什么地方用到ThreadLocal&#xff1f; 3.3 fnLocal为什么存在内存泄漏&#xff1f; 3.4 LambdaFunctionBootstrap为什么没有释放&#xff…

002mavenSettings配置

Maven –Settings 官网说明https://maven.apache.org/guides/mini/guide-mirror-settings.html 官网说明 模板 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"htt…

【Redis】持久化机制

一、三种持久化机制 RDF快照&#xff1a;通过某一时刻的快照&#xff0c;将数据以二进制形式永久存储在磁盘中。AOF&#xff1a;将每个修改命令通过write函数追加到文件中。混合持久化&#xff1a;AOF重写时&#xff0c;将重写这一刻之前的内存做RDB快照存储&#xff0c;并将此…

前端vue上拉加载下拉刷新组件,支持列表分页 本地分页

前端vue上拉加载下拉刷新组件,支持列表分页 本地分页, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id12942 喜欢我的前端组件分享文章的&#xff0c;帮忙加个关注&#xff0c;非常感谢&#x1f64f;&#x1f64f; 效果图如下: #### 使用方法…

StarRocks 文章收集

StarRocks在58的实践 StarRocks在58的实践 - 墨天轮StarRocks在58的实践 --2022-06-08https://www.modb.pro/db/639611 StarRocks之系统架构 StarRocks之系统架构 - 墨天轮https://www.modb.pro/db/610300 StarRocks小规模集群部署最佳实践(1/2) 0016.S StarRocks小规模集…

JDBC 2023年最新学习笔记!

课程笔记说明 我的笔记是来源于尚硅谷的赵伟风老师的2023年最新版jdbc的课程 视频链接&#xff1a; 尚硅谷JDBC实战教程&#xff08;2023最新版jdbc&#xff0c;JDK17MySQL8&#xff09;_哔哩哔哩_bilibili 课程资料&#xff1a; 关注“尚硅谷教育”&#xff0c;后台回复J…

中年“难”人

对于每个打工人而言&#xff0c;人生无外乎两种状态&#xff0c;要么已是中年人&#xff0c;要么走在成为中年人的路上&#xff0c;可是当下横空出世的中产作死三件套&#xff0c;让每个打工人都不寒而栗 - 房贷近千万&#xff1b; 配偶不上班&#xff1b; 两娃上国际。 这个…

走在时代前沿:宝洁的柔性供应链战略及其对全球快消品市场的影响

01 先进的供应链计划不断推动宝洁引领全球快速消费品市场 宝洁公司&#xff08;Procter & Gamble&#xff09;成立于1837年&#xff0c;是全球知名的消费品公司&#xff0c;公司拥有多个知名品牌&#xff0c;如宝洁、海飞丝、汰渍、奥妙、潘婷、威露士等&#xff0c;这些产…

程序员必须掌握的消息中间件-RabbitMQ

一、Rabbit 概述 RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用来通过普通协议在完全不同的应用中间共享数据&#xff0c;RabbitMQ 是使用 Erlang 语言来编写的&#xff0c;并且 RabbitMQ 是基于 AMQP 协议的。 特点&#xff1a; 开源、性能优秀 Erlang 语言最初用…

【ChatGPT+XMind超级详细的保姆级思维导图教程】

&#x1f680; AI &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;CSDN…

Spring Boot 异常报告器解析

基于Spring Boot 3.1.0 系列文章 Spring Boot 源码阅读初始化环境搭建Spring Boot 框架整体启动流程详解Spring Boot 系统初始化器详解Spring Boot 监听器详解Spring Boot banner详解Spring Boot 属性配置解析Spring Boot 属性加载原理解析Spring Boot 异常报告器解析 创建自定…

怎么查投票人画展投票链接怎么做微信链接投票

近些年来&#xff0c;第三方的微信投票制作平台如雨后春笋般络绎不绝。随着手机的互联网的发展及微信开放平台各项基于手机能力的开放&#xff0c;更多人选择微信投票小程序平台&#xff0c;因为它有非常大的优势。 1.它比起微信公众号自带的投票系统、传统的H5投票系统有可以图…

C语言入门万字笔记

C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好&#xff0c;可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言&#xff0c;所以说学习C语言是进入编程世界的必修…

机器学习、计算机视觉和深度学习

机器学习、计算机视觉和深度学习 1 什么是机器学习&#xff1f;2 机器学习的类型3 什么是计算机视觉&#xff1f;4 计算机视觉的机器学习应用5 总结参考 这篇博客将简要介绍&#xff1a;机器学习和用于计算机视觉的机器学习。 想象一下&#xff1a;你可以使用人脸检测算法在图…

【后端】SSM框架下REST风格代码注释详解

前言 最近学习了一下SSM&#xff0c;不得不说&#xff0c;spring不用注解真的是天打雷劈&#xff0c;就那个bean真的就是折磨人。 下面是我总结的spring注解。 Value 此注解可以用来获取导入的jdbc.properties文件的值。 Value("${jdbc.driver}")private String…

【C++】C++11新特性重点:可变参数+lambda

C11新特性第二篇重点 文章目录 上一篇的补充一、可变参数模板二、lambda函数总结 前言 上一篇我们重点讲解了右值引用移动语义&#xff0c;关于移动构造和移动赋值还有一些需要补充的知识&#xff1a; 如果你没有自己实现移动构造函数&#xff0c;且没有实现析构函数 、拷贝构…

dubbo 3.2.0 的filterChain 简要分析

dubbo 3.2.0 的filterChain 的核心类是DefaultFilterChainBuilder 。 Builder public class DefaultFilterChainBuilder implements FilterChainBuilder {的buildInvokerChain函数 对于consumer refer Overridepublic <T> Invoker<T> buildInvokerChain(final I…