LeetCode 973 重新排列日誌檔案

2021-10-01 12:03:51 字數 1072 閱讀 2362

你有乙個日誌陣列 logs。每條日誌都是以空格分隔的字串。

對於每條日誌,其第乙個字為字母數字識別符號。然後,要麼:

我們將這兩種日誌分別稱為字母日誌和數字日誌。保證每個日誌在其識別符號後面至少有乙個字。

將日誌重新排序,使得所有字母日誌都排在數字日誌之前。字母日誌按內容字母順序排序,忽略識別符號;在內容相同時,按識別符號排序。數字日誌應該按原來的順序排列。

返回日誌的最終順序。

示例 :

輸入:["a1 9 2 3 1","g1 act car","zo4 4 7","ab1 off key dog","a8 act zoo"]

輸出:["g1 act car","a8 act zoo","ab1 off key dog","a1 9 2 3 1","zo4 4 7"]

0 <= logs.length <= 100

3 <= logs[i].length <= 100

logs[i] 保證有乙個識別符號,並且識別符號後面有乙個字。

思路:設兩個vector,分別儲存字串日誌和數字日誌。

對字串日誌按照規則排序,

將數字日誌接在字串日誌後面,返回字串日誌。

class solution 

// 對字串日誌進行排序

sort(c_vec.begin(), c_vec.end(), cmp);

// 將數字日誌接到字串日誌後面

for(int i = 0; i < d_vec.size(); ++i)

return c_vec;

}// 判斷某一條日誌是否為數字日誌

bool isdigit(string s)

}return true;

}// 排序規則,必須為靜態布林型別的返回值,引數必須為const型別

static bool cmp(const string &s1, const string &s2)

};

leetcode 1470 重新排列陣列

1470.重新排列陣列 給你乙個陣列 nums 陣列中有 2n 個元素,按 x1,x2,xn,y1,y2,yn 的格式排列。請你將陣列按 x1,y1,x2,y2,xn,yn 格式重新排列,返回重排後的陣列。示例 輸入 nums 2,5,1,3,4,7 n 3 輸出 2,3,5,4,1,7 解釋 由於...

LeetCode 1470 重新排列陣列

給你乙個陣列 nums 陣列中有 2n 個元素,按 x1,x2,xn,y1,y2,yn 的格式排列。請你將陣列按 x1,y1,x2,y2,xn,yn 格式重新排列,返回重排後的陣列。1 n 500 nums.length 2n 1 nums i 10 3 法一 由於每個數字都是正數且大小不超過100...

leetcode題目1528 重新排列字串

給你乙個字串 s 和乙個 長度相同 的整數陣列 indices 請你重新排列字串 s 其中第 i 個字元需要移動到 indices i 指示的位置。返回重新排列後的字串。示例 1 輸入 s codeleet indices 4,5,6,7,0,2,1,3 輸出 leetcode 解釋 如圖所示,co...