1.两数之和
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
hashmap = {}
for i in range(len(nums)):
a = target - nums[i]
if nums[i] in hashmap:
return [hashmap[nums[i]],i]
else:
hashmap[a] = i
return None
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
arr={}
for i in range(len(nums)):
if (target-nums[i]) in arr:
return [arr[target-nums[i]],i]
else:
arr[nums[i]]=i
利用字典和键值对
192.统计词频
cat words.txt | tr -s ' ' '\n' | sort | uniq -c | sort -r | awk '{print $2" "$1}'
tr指令把一个或者多个空格替换为换行符\n
-c或——complerment:取代所有不属于第一字符集的字符;
-d或——delete:删除所有属于第一字符集的字符;
-s或–squeeze-repeats:把连续重复的字符以单独一个字符表示,即将重复出现字符串压缩为一个字符串;
-t或–truncate-set1:先删除第一字符集较第二字符集多出的字符。
sort指令排序,默认以字母序进行文本排序,默认升序
uniq 可检查文本文件中重复出现的行列,一般配合sort使用
-c或–count 在每列旁边显示该行重复出现的次数
awk '{print $2" "$1}'打印第二列,空格,第一列
193.有效的电话号码
grep -P '^(\d{3}-|\(\d{3}\) )\d{3}-\d{4}$' file.txt
这里单双引号都可以
-P表示模式是Perl正则表达式
-P, --perl-regexp PATTERN is a Perl regular expression
195. 第十行
awk 'NR == 10' file.txt NR在awk中指行号
sed -n '10p' file.txt -n表示只输出匹配行,p表示Print
tail -n +10 file.txt | head -1 tail -n +10表示从第10行开始输出