• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

文字列のbit表現

date: 2022-12-24 excerpt: 文字列のbit表現について

tag: アルゴリズムbit文字列


文字列のbit表現について

概要

  • 文字コード番目のbitを立てればよいという発想
  • and, xor, or, nandなどが高速に計算できる

##

import string

# string.printable -> '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
ci = {c:i for i, c in enumerate(string.printable)}

def change_str_to_bit(s: str) -> int:
    r = 0
    for c in s:
        r |= (1 << ci[c])
    return r

print(format(change_str_to_bit("abc"), "b")) # 1110000000000

参考

  • 318. Maximum Product of Word Lengths/LeetCode


アルゴリズムbit文字列 Share Tweet