[過去ログ] スレ立てるまでもない質問はここで 164匹目 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
894(2): デフォルトの名無しさん [sage] 2023/06/18(日) 01:10:45.25 ID:/TMQvlLx(1/3) AAS
どんな環境でも>>877877(1): デフォルトの名無しさん [] 2023/06/17(土) 21:01:25.03 ID:oEBdD3mt(1/2) AAS
こんな感じかな
fn fizzbuzz(s: &str) -> &str {
let last = s.bytes().next_back().unwrap();
let is_buzz = last == b'0' || last == b'5';
let sum = s.bytes().map(|n| n as u64).sum::<u64>();
let is_fizz = sum % 3 == 0;
if is_fizz {
if is_buzz {
"FizzBuzz"
} else {
"Fizz"
}
} else {
if is_buzz {
"Buzz"
} else {
s
}
}
}
のコードのように10進数文字列を整数に変換せずにそのまま足し算するだけが一番速い
その変換をしてさらに多倍長演算をするのは確実に遅い
895: デフォルトの名無しさん [sage] 2023/06/18(日) 01:34:07.16 ID:LoKSj4fv(1/2) AAS
速攻で0x30を引いた各桁の和を連想した俺、たぶん>>894 と相性がいい
面接試験だとしたら、「そういうこと」だと思う
906(2): デフォルトの名無しさん [] 2023/06/18(日) 18:10:54.03 ID:gGYwfccc(1) AAS
>>894
PythonだとDecimal使った方が約5倍速い
Python側でのAPI呼び出し回数の差などによってアルゴリズム自体の速度差は簡単にひっくり返る
遅い言語ではよくあること
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.034s