add: 220215-CN [golang]
This commit is contained in:
parent
d042dba79e
commit
2d3e268d3e
|
|
@ -0,0 +1,48 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
func luckyNumbers(matrix [][]int) []int {
|
||||||
|
m, n := len(matrix), len(matrix[0])
|
||||||
|
|
||||||
|
rowMin := make([]int, m)
|
||||||
|
colMax := make([]int, n)
|
||||||
|
|
||||||
|
for i := 0; i < m; i++ {
|
||||||
|
rowMin[i] = 0x7FFFFFFF
|
||||||
|
for j := 0; j < n; j++ {
|
||||||
|
if matrix[i][j] < rowMin[i] {
|
||||||
|
rowMin[i] = matrix[i][j]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for j := 0; j < n; j++ {
|
||||||
|
colMax[j] = -0x7FFFFFFF
|
||||||
|
for i := 0; i < m; i++ {
|
||||||
|
if matrix[i][j] > colMax[j] {
|
||||||
|
colMax[j] = matrix[i][j]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ret := make([]int, 0)
|
||||||
|
for i := 0; i < m; i++ {
|
||||||
|
for j := 0; j < n; j++ {
|
||||||
|
if matrix[i][j] == rowMin[i] && matrix[i][j] == colMax[j] {
|
||||||
|
ret = append(ret, matrix[i][j])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
args := [][]int{
|
||||||
|
{3, 7, 8},
|
||||||
|
{9, 11, 13},
|
||||||
|
{15, 16, 17},
|
||||||
|
}
|
||||||
|
fmt.Println(luckyNumbers(args))
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue