#1. unique chars & permutationally identical

weixin_33782386發表於2017-12-12

發現這個教程不錯, 上班之餘可以很快看一兩個習題.

這裡是索引: https://github.com/4ker/interactive-coding-challenges/blob/master/README.md

判定 string 是否無重複字元

https://github.com/4ker/interactive-coding-challenges/blob/master/arrays_strings/unique_chars/unique_chars_solution.ipynb

三個思路:

  1. len(set(input)) == len(input)
  2. 一點一點生成這個 set, 一邊 add 一邊判斷, 而不是整個生成 set 再看 len
  3. 用 foreach, count 每個 char 的個數

看 string 是不是 permutation 置換等價

https://github.com/4ker/interactive-coding-challenges/blob/master/arrays_strings/permutation/permutation_solution.ipynb

思路:

  1. 正則化 (sorted) 看是否相等: sorted(input1) == sorted(input2)
  2. 統計字元, 看各個字元的分佈是否一致, 用了 collections 下的 defaultdict (可以直接用 == 判斷兩個 dict 是否相等)

Python Notes

# new a set and insert
s = set()
s.add(v)

# foreach
for char in string:
    ...

# count char in string
string.count(char) == 1

# literals and reserved words
True, False, if ... and ..., if ... or ...

# defaultdict
from collections import defaultdict
counter = defaultdict(int)
counter['key'] += 1

jupyter notebook 的幫助: 用 ?.

快捷鍵只要記住一個 command+shift+f: command palette.

相關文章