Golang | Leetcode Golang题解之第149题直线上最多的点数

题目:

题解:

func maxPoints(points [][]int) (ans int) {
    n := len(points)
    if n <= 2 {
        return n
    }
    for i, p := range points {
        if ans >= n-i || ans > n/2 {
            break
        }
        cnt := map[int]int{}
        for _, q := range points[i+1:] {
            x, y := p[0]-q[0], p[1]-q[1]
            if x == 0 {
                y = 1
            } else if y == 0 {
                x = 1
            } else {
                if y < 0 {
                    x, y = -x, -y
                }
                g := gcd(abs(x), abs(y))
                x /= g
                y /= g
            }
            cnt[y+x*20001]++
        }
        for _, c := range cnt {
            ans = max(ans, c+1)
        }
    }
    return
}

func gcd(a, b int) int {
    for a != 0 {
        a, b = b%a, a
    }
    return b
}

func abs(x int) int {
    if x < 0 {
        return -x
    }
    return x
}

func max(a, b int) int {
    if a > b {
        return a
    }
    return b
}

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-14 07:06:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-14 07:06:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-14 07:06:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-14 07:06:01       18 阅读

热门阅读

  1. spark与flink的wordcount示例

    2024-06-14 07:06:01       10 阅读
  2. 【源码】SpringBoot编程式事务使用及执行原理

    2024-06-14 07:06:01       7 阅读
  3. 【LC刷题】DAY07:344 541 54

    2024-06-14 07:06:01       8 阅读
  4. 一键生成insert,update,delete,的mybatis sql 语句

    2024-06-14 07:06:01       7 阅读
  5. 装饰者模式(设计模式)

    2024-06-14 07:06:01       3 阅读
  6. conda?shell?wheel?pip?pypi?

    2024-06-14 07:06:01       6 阅读
  7. 简单工厂模式(大话设计模式)C/C++版本

    2024-06-14 07:06:01       6 阅读
  8. STL - 常用算法

    2024-06-14 07:06:01       7 阅读
  9. 000003 - Hadoop集群配置

    2024-06-14 07:06:01       7 阅读
  10. 数据仓库学习之hbase-2.2.7分布式搭建

    2024-06-14 07:06:01       9 阅读
  11. mysql统计连续出现的数字

    2024-06-14 07:06:01       6 阅读
  12. Docker 部署 RocketMQ

    2024-06-14 07:06:01       8 阅读
  13. 算法题day43(补5.29日卡:动态规划03)

    2024-06-14 07:06:01       8 阅读
  14. XSLT <for-each> 元素深入解析

    2024-06-14 07:06:01       7 阅读