【ARTS】01_16_左耳听风-20190225~20190303
ARTS:
- Algrothm: leetcode算法题目
- Review: 阅读并且点评一篇英文技术文章
- Tip/Techni: 学习一个技术技巧
- Share: 分享一篇有观点和思考的技术文章
Algorithm
【leetcode】890. Find and Replace Pattern
https://leetcode.com/problems/find-and-replace-pattern
1)problem
You have a list of words and a pattern, and you want to know which words in words matches the pattern.
A word matches the pattern if there exists a permutation of letters p so that after replacing every letter x in the pattern with p(x), we get the desired word.
(Recall that a permutation of letters is a bijection from letters to letters: every letter maps to another letter, and no two letters map to the same letter.)
Return a list of the words in words that match the given pattern.
You may return the answer in any order.
Example 1:
Input: words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"
Output: ["mee","aqq"]
Explanation: "mee" matches the pattern because there is a permutation {a -> m, b -> e, ...}.
"ccc" does not match the pattern because {a -> c, b -> c, ...} is not a permutation,
since a and b map to the same letter.
Note:
1 <= words.length <= 50
1 <= pattern.length = words[i].length <= 20
2)answer
使用HashMap来搞定,直接把映射一一的放入map中,如果出现过这个映射的话,就看新的对应关系和原来的映射是否相同。
代码中使用了set,这个set很重要,因为这个保证了不会出现ccc对应abb这种。
words里面的每个word都和pattern长度相同,省去了判断长度的过程
3)solution
class Solution(object):
def findAndReplacePattern(self, words, pattern):
"""
:type words: List[str]
:type pattern: str
:rtype: List[str]
"""
ans = []
set_p = set(pattern)
for word in words:
if len(set(word))!=len(set_p):
continue
fx = dict()
equal = True
for i,w in enumerate(word):
if w in fx:
if fx[w] != pattern[i]:
equal = False
break
fx[w] = pattern[i]
if equal:
ans.append(word)
return ans
if __name__ == '__main__':
words = ['abc', 'deq', 'mee', 'aqq', 'dkd', 'ccc','ddz']
pattern = 'abb'
solu = Solution()
print solu.findAndReplacePattern(words, pattern)
Review
【漏洞挖掘】WinRAR代码执行漏洞CVE-2018-20250
1)场景
WinRAR代码执行漏洞
2)问题难点
分析应用软件逆向分析思路
3)解决问题的方法
0x01 分析思路
0x02 漏洞细节
0x03 利用方式
0x04 效果
0x05 相关样本IOC
0x06 参考
4)方法细节
WinRAR代码执行漏洞CVE-2018-20250
https://www.cnblogs.com/17bdw/p/10416145.html
Tip
【安全开发】30分钟关闭Tcpdump,开启Tcpdump、检测目录大小终止任务
1)场景
控制TcpDump的运行
2)问题难点
TcpDump定时开启关闭
3)解决思路
0x01 场景
0x02 思路
查看文件个数
显示文件大小
关系运算符
判断文件大小,超过大小终止程序
sudo运行bash
Windows与Linux文件转换
计划任务部分
检测文件目录大小
参考
4)方法细节
【Shell】30分钟关闭Tcpdump,开启Tcpdump、检测目录大小终止任务
https://www.cnblogs.com/17bdw/p/10441183.html
Share
【业务】极客时间-左耳听风-程序员攻略-编程语言
1)场景
编程语言学习重点与资源
2)问题难点
学习资源整合
3)解决思路
0x1 前言
编程语言
理论学科
系统知识
0x2 Java
0x3 C/C++
0x4 GO
4)方法细节
极客时间-左耳听风-程序员攻略-编程语言
https://www.cnblogs.com/17bdw/p/10589140.html
【ARTS】01_16_左耳听风-20190225~20190303的更多相关文章
- 【ARTS】01_21_左耳听风-201900401~201900407
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_20_左耳听风-20190325~20190331
zz## ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 ...
- 【ARTS】01_19_左耳听风-20190318~20190324
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_18_左耳听风-20190311~20190317
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_17_左耳听风-20190304~20190310
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_14_左耳听风-20190211~20190217
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_10_左耳听风-20190114~20190120
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_09_左耳听风-20190107~20190113
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
- 【ARTS】01_08_左耳听风-20181231~20190106
ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...
随机推荐
- CentOS 7.0下使用yum安装MySQL
CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1 ...
- 3D转换(位置)+过渡+透视
效果如图: html代码: <div class="door"> <div class="in"><div> </di ...
- C++回顾day01---<C++对C的增强>
一:命名空间 二:三目运算符 (一)C语言三目运算符返回值(不可修改) (二)C++中三目运算符直接返回变量本身(可以直接进行修改) 三:C++要求所有函数必须有类型(不重要) (一)C语言允许函数无 ...
- mysql 安装部署
如下方法 安装完成后 没有my.ini 配置文件,请结合下篇(mysql安装绑定my.ini)文章一起看. 安装包的安装方式:参考:https://www.cnblogs.com/ayyl/p/597 ...
- Linux记录-JMX监控Tomcat上传到falcon
1.登录测试服务器xxxxxx xxxxxx su root输入xxxx 2.先修改Tomcat的启动脚本,(linux下为catalina.sh),添加以下内容: CATALINA_OPTS=&qu ...
- 【Unity3d游戏开发】Unity中的Time.timeScale
马三最近在做一款游戏的时候涉及到了“加速”和“暂停”这两个功能,我第一时间就想到了应该用 Time.timeScale.当暂停的时候,设置timeScale = 0,当需要加速的时候,将 timeSc ...
- python web 开发
第一个 简单的 WSGI demo from wsgiref.simple_server import make_server def application(environ, start_respo ...
- SpringBoot系列: 使用 flyway 管理数据库版本
Flyway 和 Liquibase 都是 Java 项目中常用的 DB migration 工具, 从使用简便性看,Flyway 比 Liquibase 更简单, 从 github 的 star ...
- C# UpdatePanel加载完毕回调JS
如果 我们想UpdatePanel加载完成后做一些事情 需要使用js <script type="text/javascript"> //给ScriptManager的 ...
- [译]Managing Vue.js State with Vuex
原文 准备 安装 Vuex, 是Vue官方出的package, 它不是Vue内置的.需要另外安装. npm install vuex --save 然后,需要在应用启动文件启用Vuex. main.j ...