Algorithm做算法题,Review点评英文文章,Tip总结技术技巧,Share做技术分享。每周打卡一次,这就是ARTS打卡。
1. 做算法题
LeetCode367题. 有效的完全平方数[1]
题目描述:
给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。
说明:不要使用任何内置的库函数,如 sqrt。
示例 1:
输入:16 输出:True 示例 2:
输入:14 输出:False
解题思路:由于不能使用内置库函数,只好另辟蹊径,n^2 = 1+3+5+...+(2n-1)
一个完全平方数等于奇数序列的和。那么可以通过将num依次减去从1开始的奇数,通过最后是否得到0判断完全平方数。
解题代码:
class Solution:
def isPerfectSquare(self, num: int) -> bool:
num_odd = 1
while num > 0:
num -= num_odd
num_odd += 2
return num == 0
复制
2. 点评英文文章
文章Exploiting Arbitrage Opportunities in Betting Markets[2]介绍了如何在竞猜市场中利用概率差异套利,在文章开头作者也说明了在市场中套利是短暂的,因为一边买入一边卖出会使得低价的价格提高,高价的价格下降,利差被抹平。
3. 技术技巧
网络抓包工具Burpsuite在抓包时需要把浏览器的访问请求代理到Burpsuite,这就要用到一个Chrome插件proxy switchyomega [3]。由于众所周知的原因,一般是无法直接在Chrome中安装插件的。不过离线安装也不难,但会出现程序包无效的报错,参考这里解决[4]。
4. 技术分享
Burpsuite是网络安全中“圣杯”级别的渗透工具,电子书:burpsuite实战指南[5]介绍了Burpsuit详细使用。
引用链接
[1]
LeetCode367题. 有效的完全平方数: https://leetcode-cn.com/problems/valid-perfect-square/[2]
Exploiting Arbitrage Opportunities in Betting Markets: https://computersciencealgorithms.wordpress.com/2020/11/22/exploiting-arbitrage-opportunities-in-betting-markets/[3]
proxy switchyomega : https://www.jianshu.com/p/7deaa9030a64[4]
参考这里解决: https://blog.csdn.net/wst0717/article/details/88867047[5]
电子书:burpsuite实战指南: https://t0data.gitbooks.io/burpsuite/content/