【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 ...
随机推荐
- 图形设计必备软件:CorelDRAW
[CorelDRAW 激发创意] CorelDRAW Graphics Suite 是一款领先的图形设计软件,收到数百万专业人士.小型企业主以及全球设计爱好者的热捧.它可以提供无缝的图形.版面.插图. ...
- MySQL数据库服务器整体规划(思路与步骤)
MySQL数据库服务器整体规划(思路与步骤) 参考资料: http://blog.51cto.com/zhilight/1630611 我们在搭建MySQL数据库服务器的开始阶段就合理的规划,可以避免 ...
- Linux最常用的基础命令
Linux最常用的基础命令个人总结 计算机基础知识: 32bit和64bit系统的区别.系统运行机制 32bit=内存的最大寻址空间是2**32,也就是说最大只能使用4GB的内存64bit=内存的最大 ...
- 关于交叉熵(cross entropy),你了解哪些
二分~多分~Softmax~理预 一.简介 在二分类问题中,你可以根据神经网络节点的输出,通过一个激活函数如Sigmoid,将其转换为属于某一类的概率,为了给出具体的分类结果,你可以取0.5作为阈值, ...
- MyBatis-DynamicSQL 动态SQL
MyBatis 的动态 SQL 使用 OGNL 表达式 http://commons.apache.org/proper/commons-ognl/language-guide.html 在 XML ...
- JAVA-try-catch-finally-自定义异常例子(适合初学者)
package com.net.xinfang.reflect; import java.io.IOException; import java.util.Scanner; /*** * 运行try块 ...
- STM32学习笔记:【001】时钟树与RCC
导言 如果学过单片机的同学应该不会陌生,学习51单片机时最经常听到的就是“最小系统”. 最小系统里面少不了晶振,否则单片机无法工作. 单片机需要晶振(时钟源)来工作,那么对于STM32芯片同样如此. ...
- 学习总结:CSS(一)定义方式、选择器、选择器权重
一.CSS的定义方式 1.内部样式:<style></style> 2.行间样式:<div style="width:100px;height:100px;&q ...
- logging 模块 与 logging 固定模块
import logging # 1. 控制日志级别# 2. 控制日志格式# 3. 控制输出的目标为文件logging.basicConfig(filename='access.log', forma ...
- 09、 在QQ音乐中查找七里香这首歌的精彩评论
找到七里香这首歌的精彩评论 URL https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg?g_tk=5381&l ...