【每日一题Day240】LC2481分割圆的最少切割次数 | fenlei

分割圆的最少切割次数【LC2481】

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

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

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

  • 思路:分情况讨论

    • 如果 n n n为1,那么不需要分割,答案为0
    • 如果 n n n为偶数,那么分割线两个端点都在圆上,那么答案为 n / 2 n/2 n/2
    • 如果 n n n为偶数,那么分割线一个端点都在圆心,那么答案为 n n n
  • 实现

    class Solution {
        public int numberOfCuts(int n) {
            if (n == 1) return 0;
            if (n % 2 == 0){// 偶数
                return n / 2;
            }else{
                return n;
            }
    
        }
    }
    
    • 复杂度
      • 时间复杂度: O ( 1 ) \mathcal{O}(1) O(1)
      • 空间复杂度: O ( 1 ) \mathcal{O}(1) O(1)

你可能感兴趣的:(每日一题,模拟,算法,leetcode,职场和发展)