Algorithm做算法题,Review点评英文文章,Tip总结技术技巧,Share做技术分享。每周打卡一次,这就是ARTS打卡。
1. 做算法题
LeetCode367题. 有效的完全平方数
题目描述:
给定一个正整数 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介绍了如何在竞猜市场中利用概率差异套利,在文章开头作者也说明了在市场中套利是短暂的,因为一边买入一边卖出会使得低价的价格提高,高价的价格下降,利差被抹平。
3. 技术技巧
网络抓包工具Burpsuite在抓包时需要把浏览器的访问请求代理到Burpsuite,这就要用到一个Chrome插件proxy switchyomega 。由于众所周知的原因,一般是无法直接在Chrome中安装插件的。不过离线安装也不难,但会出现程序包无效的报错,参考这里解决。
4. 技术分享
Burpsuite是网络安全中“圣杯”级别的渗透工具,电子书:burpsuite实战指南介绍了Burpsuit详细使用。