#1. unique chars & permutati
2017-12-12 本文已影响5人
district10
发现这个教程不错, 上班之余可以很快看一两个习题.
这里是索引: https://github.com/4ker/interactive-coding-challenges/blob/master/README.md
判定 string 是否无重复字符
三个思路:
- len(set(input)) == len(input)
- 一点一点生成这个 set, 一边 add 一边判断, 而不是整个生成 set 再看 len
- 用 foreach, count 每个 char 的个数
看 string 是不是 permutation 置换等价
思路:
- 正则化 (sorted) 看是否相等: sorted(input1) == sorted(input2)
- 统计字符, 看各个字符的分布是否一致, 用了 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.