ARTS-WEEK5

发布于: 19 小时前
ARTS-WEEK5

Algorithm

LeetCode-14. 最长公共前缀:

class Solutions:
'''
解题思路:水平扫描法
第一个与第二个对比找到公共前缀,再与第三个对比得到公共前缀,再与第4个对比得到公共前缀,直到对比完所有数据
'''
def longestCommonPrefix(self, strs: List[str]) -> str:
if not strs:
return ""
num = len(strs)
prefix = strs[0]
for i in range(1, num):
prefix = self.lcp(prefix, strs[i])
if not prefix:
break
return prefix
def lcp(self, str1, str2):
length, index = min(len(str1), len(str2)), 0
while index < length and str1[index] == str2[index]:
index += 1
return str1[:index]

自己想到的也是水平方式,然自己实现过程中还各种不过的问题.. 使用的 for 循环语句,而不是像题解里最终的 while 语句,使用的不等于判断语句出现的问题到最后使用等于判断,还有此处的 lcp 封装接口,也是慢慢理解更好的代码处理方式。

看还有分治法、二分查找法,下周继续来学习吧。编程能力真的很需要多练习加强呐 = =

Review

https://medium.com/swlh/stop-using-if-else-statements-f4d2323e6e4

countless: 数不清的

specialized: 专门的

concise: 简洁的 

elegant: 优雅

made up: 虚构的

in spirit:在精神上

delegate: 委托

unwieldy: 笨拙的

guard clauses:限制从句

最后根据文章思路去搜索学习了下状态机实现,做了下笔记:

C编程-状态机实现

Tip

MAC 打开wireshark 提示无权限

解决办法:

sudo chown user_name /dev/bpf*s

Share

这周刷隐秘的角落去了.. 没写其它文章,也没怎么看其它文章…

分享下之前发的一篇文章吧

网络工具-iptables端口镜像

发布于: 19 小时前 阅读数: 8
用户头像

一周思进

关注

每周学习总结,相信可以走的更远 2017.12.12 加入

嵌入式开发工程师 个人公众号:一周思进

评论

发布
暂无评论
ARTS-WEEK5