golang力扣leetcode 2013.检测正方形

简介: golang力扣leetcode 2013.检测正方形

2013.检测正方形

2013.检测正方形

题解

用map存边,形参给出一个点,遍历map,又确定一个点,由此就可以推出是不是正方形了

代码

package main
type DetectSquares struct {
  mp map[int]map[int]int
}
func Constructor() DetectSquares {
  return DetectSquares{mp: make(map[int]map[int]int)}
}
func (this *DetectSquares) Add(point []int) {
  x := point[0]
  y := point[1]
  if this.mp[y] == nil {
    this.mp[y] = make(map[int]int)
  }
  this.mp[y][x]++
}
func (this *DetectSquares) Count(point []int) int {
  x := point[0]
  y := point[1]
  result := 0
  for rangeY, mapX := range this.mp {
    if rangeY != y {
      sideLen := y - rangeY
      result += mapX[x] * this.mp[y][x-sideLen] * mapX[x-sideLen]
      result += mapX[x] * this.mp[y][x+sideLen] * mapX[x+sideLen]
    }
  }
  return result
}
目录
相关文章
|
6天前
|
存储
leetcode2975. 移除栅栏得到的正方形田地的最大面积
leetcode2975. 移除栅栏得到的正方形田地的最大面积
22 1
|
6天前
|
算法 程序员 索引
【Leetcode 程序员面试金典 02.08】 —— 环路检测 |双指针
我们可以使用双指针解决本题,由数学推导可知:a 的距离为(环长度的倍数 - b),即 tmp 指针从头节点走到环开头节点等于 slow 指针走到环开头节点的距离
|
6天前
|
Java
【LeetCode力扣】面试题 17.14. 最小K个数(top-k问题)
【LeetCode力扣】面试题 17.14. 最小K个数(top-k问题)
13 1
|
6天前
|
存储 算法
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题
6 0
|
6天前
|
监控 Go 开发者
Golang深入浅出之-Goroutine泄漏检测与避免:pprof与debug包
【5月更文挑战第2天】本文介绍了Go语言并发编程中可能遇到的Goroutine泄漏问题,以及如何使用`pprof`和`debug`包来检测和防止这种泄漏。常见的问题包括忘记关闭channel和无限制创建goroutine。检测方法包括启动pprof服务器以监控Goroutine数量,使用`debug.Stack()`检查堆栈,以及确保每个Goroutine有明确的结束条件。通过这些手段,开发者可以有效管理Goroutine,维持程序性能。
41 7
|
6天前
|
Java Go
Golang深入浅出之-Goroutine泄漏检测与避免:pprof与debug包
【5月更文挑战第1天】本文介绍了Go语言中goroutine泄漏的问题及其影响,列举了忘记关闭通道、无限循环和依赖外部条件等常见泄漏原因。通过引入`net/http/pprof`和`runtime/debug`包,可以检测和避免goroutine泄漏。使用pprof的HTTP服务器查看goroutine堆栈,利用`debug`包的`SetGCPercent`和`FreeOSMemory`函数管理内存。实践中,应使用`sync.WaitGroup`、避免无限循环和及时关闭通道来防止泄漏。理解这些工具和策略对维护Go程序的稳定性至关重要。
26 4
|
6天前
|
Go 容器 SQL
【Golang Leetcode】总目录(Day1~100)
【Golang Leetcode】总目录(Day1~100)
477 1
【Golang Leetcode】总目录(Day1~100)
|
6天前
|
Go Java C++
Java每日一练(20230407) 数据流变为多个不相交区间、最小栈、柱状图中最大的矩形
Java每日一练(20230407) 数据流变为多个不相交区间、最小栈、柱状图中最大的矩形
40 0
Java每日一练(20230407) 数据流变为多个不相交区间、最小栈、柱状图中最大的矩形
|
6天前
leetcode:520. 检测大写字母
leetcode:520. 检测大写字母
16 0
|
6天前
leetcode-221:最大正方形
leetcode-221:最大正方形
30 0