1329. Sort the Matrix Diagonally

描述:

image.png

解題思路:直接取對角線元素排序完在放回相應(yīng)的位置即可
代碼:

class Solution {
public:
    vector<vector<int>> diagonalSort(vector<vector<int>>& mat) {
        map<int, vector<int>>mapj;
        map<int, vector<int>>mapi;
        for(int j = 0; j < mat[0].size(); j++) {
            vector<int> tmp;
            int i = 0, k = j;
            while(i < mat.size() && k < mat[0].size()) {
                tmp.push_back(mat[i][k]);
                i++;
                k++;
            }
            mapj[j] = tmp;
        }
        for(int i = 0; i < mat.size(); i++) {
            vector<int> tmp;
            int j = 0, k = i;
            while(k < mat.size() && j < mat[0].size()) {
                tmp.push_back(mat[k][j]);
                j++;
                k++;
            }
            mapi[i] = tmp;
        }
        map<int, vector<int>>::iterator iterj = mapj.begin();
        while(iterj != mapj.end()) {
            sort(iterj->second.begin(), iterj->second.end());
            int l = 0, r = iterj -> first;
            for (int i = 0; i < iterj->second.size(); i++) {
                mat[l++][r++] = iterj->second[i];
            }
            iterj++;
        }
        map<int, vector<int>>::iterator iteri = mapi.begin();
        while(iteri != mapi.end()) {
            sort(iteri->second.begin(), iteri->second.end());
            int r = 0, l = iteri -> first;
            for (int i = 0; i < iteri->second.size(); i++) {
                mat[l++][r++] = iteri->second[i];
            }
            iteri++;
        }
        return mat;
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 排序算法基礎(chǔ) 排序算法,是一種能將一串數(shù)據(jù)按照特定的排序方式進行排列的一種算法,一個排序算法的好壞,主要從時間復(fù)雜...
    jackyshan閱讀 4,302評論 3 11
  • 當我們,發(fā)善心行善事,福報已經(jīng)在來的路上了。你只管努力,一切隨之而來 總業(yè)績66760.總定金56 今日業(yè)績0
    2914c64c98dc閱讀 133評論 0 1
  • 自以為好頹喪,她不是個活潑開朗的人。而且像個傻子一樣的,從不會爭口氣。也許就是有個夢,向往溫馨家園充滿陽光的窗戶。...
    樂貴真趣閱讀 44評論 0 0
  • 錢鐘書的圍城中,方鴻漸應(yīng)該是一個主角。他國文不錯,又懂得點哲學(xué),但還是玩世不龔,多情而軟弱,特別是在處理和女人的關(guān)...
    星星之火w閱讀 932評論 0 1
  • 1.一張紙的厚度大約是0.08mm,對折多少次之后能達到珠穆朗瑪峰的高度(8848.13米)? 古典問題:有一對兔...
    坐等抱大腿的鬼鬼閱讀 62評論 0 0

友情鏈接更多精彩內(nèi)容