PHP解演算法題 字串的完美度

2021-06-16 23:04:37 字數 635 閱讀 9947

題目詳情

我們要給每個字母配乙個1-26之間的整數,具體怎麼分配由你決定,但不同字母的完美度不同,

而乙個字串的完美度等於它裡面所有字母的完美度之和,且不在乎字母大小寫,也就是說字母f和f的完美度是一樣的。

現在給定乙個字串,輸出它的最大可能的完美度。

例如:dad,你可以將26分配給d,25分配給a,這樣整個字串最大可能的完美度為77。

看到這個題目,第乙個想法就是遍歷字串,求出每個字母出現的次數,按次數分配完美度,再一乘就是,看起來蠻簡單。

先寫乙個統計字母頻數的函式。

其中$letter是乙個『a』到『z』的陣列,$num是乙個26個0的陣列,通過array_combine()函式合併成以字母為  key的陣列(總感覺走了彎路,求高人指教)。接下來就是遍歷計數。

function strcount($str)

var_dump($count);

return $count;

}

將陣列按值排序,通過foreach迴圈,計算結果。

function prefectcount($count)

return $result;

}

字串完美度

題目描述 們要給每個字母配乙個1 26之間的整數,具體怎麼分配由你決定,但不同字母的完美度不同,而乙個字串的完美度等於它裡面所有字母的完美度之和,且不在乎字母大小寫,也就是說字母f和f的完美度是一樣的。現在給定乙個字串,輸出它的最大可能的完美度。例如 dad,你可以將26分配給d,25分配給a,這樣...

字串的完美度

我們要給每個字母配乙個1 26之間的整數,具體怎麼分配由你決定,但不同字母的完美度不同,而乙個字串的完美度等於它裡面所有字母的完美度之和,且不在乎字母大小寫,也就是說字母f和f的完美度是一樣的。現在給定乙個字串,輸出它的最大可能的完美度。例如 dad,你可以將26分配給d,25分配給a,這樣整個字串...

演算法題 字串旋轉

對於乙個字串,和字串中的某一位置,請設計乙個演算法,將包括i位置在內的左側部分移動到右邊,將右側部分移動到左邊。給定字串a和它的長度n以及特定位置p,請返回旋轉後的結果。測試樣例 abcdefgh 8,4 返回 fghabcde 正常解法 1.用 按特定位置訪問逐字元拷貝 class stringr...