初夏小談 NK 兩種排序方法

2021-09-23 20:54:09 字數 1262 閱讀 1073

考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法: 1.根據字串的字典序排序。例如:

"car" < "carriage" < "cats" < "doggies < "koala"

2.根據字串的長度排序。例如:

"car" < "cats" < "koala" < "doggies" < "carriage"

考拉想知道自己的這些字串排列順序是否滿足這兩種排序方法,考拉要忙著吃樹葉,所以需要你來幫忙驗證。

輸入第一行為字串個數n(n ≤ 100)

接下來的n行,每行乙個字串,字串長度均小於100,均由小寫字母組成

如果這些字串是根據字典序排列而不是根據長度排列輸出"lexicographically",

如果根據長度排列而不是字典序排列輸出"lengths",

如果兩種方式都符合輸出"both",否則輸出"none"

示例1

3aaa

bbb

both
根據題意,就是判斷出來長度是否符合條件和所有字串符合字典序。並且對這兩種情況的不同組合進行分別列印不同的語句。

長度的排序比較簡單,就是一一比較相鄰的字串長度,發現乙個不符合就不符合長度排序。

對於字典序,像查字典一樣,先比較相鄰字串的第乙個字母,三種情況:

#includeusing namespace std;

#include#includevoid dispose(vector& v)

}for(int i = 0; i < size - 1; i++)

if(v[i][j] > v[i+1][j])}}

if(zidianxuflag == 0 && lengthflag == 1)

dispose(v);

}return 0;

}

在做題中遇到的問題:

1.由於粗心在輸入字串時直接用v[i]來接收。vector都沒資料空間怎麼能以陣列的形式存放。

2.判斷字典序時,考慮不周,一開始只考慮了第三種情況。造成只通過一部分測試用例。

珍&原始碼

兩種排序方法

題目描述 考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法 1.根據字串的字典序排序。例如 car carriage cats doggies koala 2.根據字串的長度排序。例如 car cats koala doggies carriage 考拉想知道自己的...

兩種排序方法

考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法 1.根據字串的字典序排序。例如 car carriage cats doggies koala 2.根據字串的長度排序。例如 car cats koala doggies carriage 考拉想知道自己的這些字串排...

兩種排序方法

題目描述 考拉有n個字串字串,任意兩個字串長度都是不同的。考拉最近學習到有兩種字串的排序方法 1.根據字串的字典序排序。例如 car carriage cats doggies koala 2.根據字串的長度排序。例如 car cats koala doggies carriage 考拉想知道自己的...