今日何か作っていたら、面白いところをいくつか発見したのでメモしてみんなに共有しました。いくつかの小さな質問から始めましょう
おそらく、それは非常に簡単だと言うでしょう。1 つは start=>Start age 、もう 1 つは end=>End age の 2 つのフィールドを使用するか、1 つのフィールドで start|end の形式を使用し、in に数値以外を指定します。中央 分離するか、start|start-end を使用します。笑、とにかく方法はたくさんありますが、この時点でアップグレードを要求し、10 ~ 20、25、29 ~ 40 の年齢を表現するように求められた場合、どのように表現しますか?もちろん、10-20|25|29-40 などの文字列を使用して表現することもでき、独自にルールを設定して表現することもできます。しかし、この表現方法を最適化できるでしょうか? 答えは「はい」です。
01 文字列を使用して、非反復年齢間隔を表すことができます。デフォルトは 100 個の 0 で、1 の場合は年齢が存在することを意味し、0 の場合は年齢が存在することを意味します。 , そんな年齢は存在しないということになります。説明を簡単にするために、ここでは 1 個のゼロを 1 個使用して 1 歳から 10 歳を表します。 リーリー
ははは、表現するのにとても便利でわかりやすいですか? もちろん、これには欠点もありますが、実際に使用するのは不便で、計算が必要です。1、2、3、...、199、200からランダムに数字をいくつか選びます。それをどう表現しますか?
リーリー
もちろん、私が表現したいデータは連続的ではないという人もいるかもしれません。例えば、私はを表現したいのです。
1926、19658、12、5638、8975、965、369、5126、5698、14556上記の数値には非常に大きいものもあれば、非常に小さいものもあり、パターンがありません。合計が 10 を超えない数値にはそれらの最大値が使用されないことを示したいと考えています (たとえば、ここでは 19658 0 です) もちろんそうではありません。この場合、マッピング関係は次のようになります。 リーリー
この時点で、1926、12、5698 の選択された状況を表現したい場合は、次の 01 文字列を使用できます:
1010000010
これにはトラフィックを節約する効果もあることに気づいたかもしれません。ネットワーク送信中に、マッピング関係を確立する必要はなく、対応する 01 文字列のみを送信します。
もちろん、これにはさまざまな意味があります。たとえば、1日を5分のセグメントに分割し、合計288のセグメントを用意しました。このとき、その中からランダムに5分のセグメントをいくつか選択し、288のセグメントを使用しました。独自の長さの 01 文字列を使用して、これが良いかどうかを表現します (笑)。
場合によっては、この 01 文字列表現方法が非常に望ましい場合があり、トラフィックを節約できる場合もあります。
この記事の著作権は著者ifforever(luluyrt@163.com)に帰属します。記事を転載した後は、著者と原文リンクを明示する必要があります。記事ページにあります。
http://www.bkjia.com/PHPjc/980031.html