【数据结构与算法】之深入解析“随机翻转矩阵”的求解思路与算法示例
生活随笔
收集整理的這篇文章主要介紹了
【数据结构与算法】之深入解析“随机翻转矩阵”的求解思路与算法示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、題目要求
- 給你一個 m x n 的二元矩陣 matrix ,且所有值被初始化為 0,請你設計一個算法,隨機選取一個滿足 matrix[i][j] == 0 的下標 (i, j),并將它的值變為 1,所有滿足 matrix[i][j] == 0 的下標 (i, j) 被選取的概率應當均等。
- 盡量最少調用內置的隨機函數,并且優化時間和空間復雜度。
- 實現 Solution 類:
-
- Solution(int m, int n) 使用二元矩陣的大小 m 和 n 初始化該對象;
-
- int[] flip() 返回一個滿足 matrix[i][j] == 0 的隨機下標 [i, j] ,并將其對應格子中的值變為 1;
-
- void reset() 將矩陣中所有的值重置為 0。
- 示例:
總結
以上是生活随笔為你收集整理的【数据结构与算法】之深入解析“随机翻转矩阵”的求解思路与算法示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据结构与算法】之深入解析“零钱兑换I
- 下一篇: 【数据结构与算法】之深入解析“TinyU