条件:
矩阵元素从左到右增序,从上到下增序
如 :
1, 3, 5
2, 4, 6
3 ,7, 8
OutPut: 请将该矩阵转换成有序数组输出
1,2,3,3,4,5,6,7,8
思路:m行n列的矩阵,m个指针分别标记m行每行遍历到哪了,每次找出最小的元素,赋值给数组,遍历m*n次
func converMatrix(A [][]int) []int {
m := len(A)
n := len(A[0])
var result = make([]int, m*n)
var s = make([]int, m)
for i := 0; i < m*n; i++ {
min := 0
for s[min] == n {
min++
}
for j := min + 1; j < m; j++ {
if A[min][s[min]] > A[j][s[j]] {
min = j
}
}
result[i] = A[min][s[min]]
s[min]++
}
return result
}