ホームページ  >  記事  >  Java  >  Leetcode — 文字列のスコア

Leetcode — 文字列のスコア

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-02 13:56:02802ブラウズ

Leetcode — Score of a String

これは leet コードからの簡単な問題で、次のような説明があります。

文字列 s が与えられます。文字列のスコアは、隣接する文字の ASCII 値間の絶対差の合計として定義されます。
s のスコアを返します。

例 1:
入力: s = “こんにちは”
出力: 13

説明:
s 内の文字の ASCII 値は、'h' = 104、'e' = 101、'l' = 108、'o' = 111 です。したがって、s のスコアは |104 - 101| になります。 |101 - 108| |108 - 108| |108 - 111| = 3 7 0 3 = 13.

例 2:
入力: s = “zaz”
出力: 50

説明:
s 内の文字の ASCII 値は、「z」 = 122、「a」 = 97 です。したがって、s のスコアは |122 - 97| になります。 |97 - 122| = 25 25 = 50.
制約:

2 s は英小文字のみで構成されます。

これに関して行うことはあまりありません。基本的に、文字列の 2 文字を反復して取得し、最初の文字から 2 番目の文字を減算して、その絶対値を取得し、合計変数に加算します。

範囲外の例外を避けるために、2 番目のインデックスから開始することが重要です。

char を ASCII として取得するには、基本的に整数としてキャストするだけで十分です。

class Solution {
    public int scoreOfString(String s) {
        int sum = 0;
        for(int i=1;i<s.length();i++){
            final int first  = (int) s.charAt(i - 1);
            final int second = (int) s.charAt(i);
            sum += Math.abs(first - second);
        }
        return sum;
    }
}

実行時間: 1 ミリ秒。文字列のスコアに関する Java オンライン送信の 99.37% よりも高速です。
メモリ使用量: 42 MB、文字列スコアの Java オンライン送信の 30.18% 未満。

それだけです!他に議論したいことがあれば、お気軽にコメントしてください。何か見逃した場合はお知らせください。適宜更新します。

次の投稿まで! :)

以上がLeetcode — 文字列のスコアの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。