【ARTS】01_19_左耳听风-20190318~20190324
ARTS:
- Algrothm: leetcode算法题目
- Review: 阅读并且点评一篇英文技术文章
- Tip/Techni: 学习一个技术技巧
- Share: 分享一篇有观点和思考的技术文章
Algorithm
【leetcode】13. Roman to Integer
https://leetcode.com/problems/roman-to-integer/
1)problem
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.
Symbol Value
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
For example, two is written as II in Roman numeral, just two one's added together. Twelve is written as, XII, which is simply X + II. The number twenty seven is written as XXVII, which is XX + V + II.
Roman numerals are usually written largest to smallest from left to right. However, the numeral for four is not IIII. Instead, the number four is written as IV. Because the one is before the five we subtract it making four. The same principle applies to the number nine, which is written as IX. There are six instances where subtraction is used:
Ican be placed beforeV(5) andX(10) to make 4 and 9.Xcan be placed beforeL(50) andC(100) to make 40 and 90.Ccan be placed beforeD(500) andM(1000) to make 400 and 900.
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999.
Example 1:
Input: "III"
Output: 3
Example 2:
Input: "IV"
Output: 4
Example 3:
Input: "IX"
Output: 9
Example 4:
Input: "LVIII"
Output: 58
Explanation: L = 50, V= 5, III = 3.
Example 5:
Input: "MCMXCIV"
Output: 1994
Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.
2)answer
预想结果;
result = M + ( M - C ) + (C - X) + ( V - I) = 1000 + 900 + 90 + 4
由于罗马数字通常从左到右从最大到最小。
"MCMXCIV"的实际值应该是:
M = 1000,CM = 900,XC = 90,IV = 4。
具体计算是;
result = M + ( M - C ) + (C - X) + ( V - I) = 1000 + 900 + 90 + 4
C 100 被放在M 1000前面的时候,应该用减数M-C,然后:
# result = M + C
# temp = M - C
# result = M + C + temp = M + C + M - C = M + M
因为+C和-C抵消了,所以M+M=2000,和计划中的result = M + (M-C)就少了一个-C的步骤。这是错误的。
为了使当小数放在大数的结果正确,所以就要将-C的值补充回来。也就是 *2 的由来,才是正确的解法。
result += numral_map[s[i]] - 2 * numral_map[s[i-1]]
3)solution
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
numral_map ={ "I":1,"V":5, "X":10, "L":50, "C":100, "D":500, "M":1000 }
result = 0
for i in range(len(s)):
if i > 0 and numral_map[s[i]] > numral_map[s[i-1]]:
result += numral_map[s[i]] - 2 * numral_map[s[i-1]]
else:
result += numral_map[s[i]]
return result
Review
【漏洞挖掘】10个绕过反病毒的恶意用户技巧
1)场景
概述10个需要注意的问题。绕过杀毒软件
2)问题难点
10个绕过反病毒的恶意用户技巧
3)解决问题的方法
介绍
添加防病毒软件信任名单策略
通过GUI禁用反病毒
终止反病毒软件进程
停止并禁用反病毒服务
通过调试设置禁用反病毒软件
卸载反病毒软件
从UNC路径或可移动媒体执行(U盘)
从备用数据流执行
从DLL执行
从文件系统外部执行
总结
4)方法细节
10个绕过反病毒的恶意用户技巧
https://www.cnblogs.com/17bdw/p/10575815.html
Tip
【安全开发】爬虫基础
1)场景
爬虫知识基础知识
2)问题难点
基础框架整理
3)解决思路
0x1、基础框架原理
1.1、爬虫基础
1.1、基础原理
1.2、发起HTTP请求-Request
1.3、获取响应内容-Response
1.4、练手库-Urllib
4)方法细节
爬虫基础
https://www.cnblogs.com/17bdw/p/10735127.html
Share
【业务】极客时间-左耳听风-程序员攻略-软件设计
1)场景
软件设计学习
2)问题难点
软件设计学习的资源
3)解决思路
程序员练级攻略:软件设计
- 编程范式
- 一些软件设计的相关原则
- 一些软件设计的读物
4)方法细节
极客时间-左耳听风-程序员攻略-软件设计
https://www.cnblogs.com/17bdw/p/10591364.html
【ARTS】01_19_左耳听风-20190318~20190324的更多相关文章
- 【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_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_16_左耳听风-20190225~20190303
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 ...
随机推荐
- KVM安装启动虚拟机
KVM定制OpenStack云主机 如何定制化OpenStack云主机?从去年10月份刚开始接触OpenStack,到现在也有一年了.虽说目前只是停留在用它,对它的一些组件简单的了解,但谈到制作出一个 ...
- 云计算虚拟机技术-KVM安装
云计算虚拟机技术-KVM安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维的小伙伴估计大家都清楚KVM,因为在CentOS里面KVM还算很折腾的一个软件,早期CentOS ...
- js中的blob,图片base64URL,file之间的关系
js的base64编码和解码 英文是这样的:// atob() 将base64解码 // btoa() 将字符串转码为base64 var str = 'javascript'; window.bto ...
- Java 微信公众号迁移
背景:公众号换主体,要迁移,粉丝(openId)的业务数据要做处理. 第一步:参照我的另一篇文章,Java 导出微信公众号粉丝. 第二部:数据处理(master-worker模式) 程序主入口:Mai ...
- JAVA-集合类型List(ArrayList、LinkedList)常用操作例子(基础必备)
package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.Arrays; import java.ut ...
- golang命令行参数
os.Args获取命令行参数 os.Args是一个srting的切片,用来存储所有的命令行参数 package main import ( "fmt" "os" ...
- invalid location of tag 解决办法
转自:https://blog.csdn.net/tanzuai/article/details/41896579 在jsp页面使用标签过程中有时候不注意规则的话,eclipse会提示一些错误,下面针 ...
- SQL Server进阶(十一)临时表、表变量
临时表 本地临时表 适合开销昂贵 结果集是个非常小的集合 -- Local Temporary Tables IF OBJECT_ID('tempdb.dbo.#MyOrderTotalsByYe ...
- tensorflow 学习1——tensorflow 做线性回归
. 首先 Numpy: Numpy是Python的科学计算库,提供矩阵运算. 想想list已经提供了矩阵的形式,为啥要用Numpy,因为numpy提供了更多的函数. 使用numpy,首先要导入nump ...
- Andrew NG 机器学习编程作业2 Octave
问题描述:用逻辑回归根据学生的考试成绩来判断该学生是否可以入学 这里的训练数据(training instance)是学生的两次考试成绩,以及TA是否能够入学的决定(y=0表示成绩不合格,不予录取:y ...