你有乙個日誌陣列 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...