
训练营
Watch_dou
一名算法工程师,欢迎交流,由于比较忙,来不及回复评论,有事可以私戳我
展开
-
Leetcode 994. 腐烂的橘子
Leetcode 994. 腐烂的橘子 难度:简单 用法:BFS 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。 返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。 示例 1: 输入:[[2,1,1],[1,1,0...原创 2020-03-22 19:24:37 · 411 阅读 · 0 评论 -
Leetcode 199. 二叉树的右视图
Leetcode 199. 二叉树的右视图 难度:中等 用法:BFS 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 <--- \ ...原创 2020-03-22 19:20:21 · 361 阅读 · 0 评论 -
Leetcode 200. 岛屿数量
Leetcode 200. 岛屿数量 难度:中等 给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 输出: 1 示例 2: 输入: 11000 11000 00100 00011 输出: 3 ...原创 2020-03-21 11:21:48 · 348 阅读 · 0 评论 -
Leetcode 3. 无重复字符的最长子串
Leetcode 3. 无重复字符的最长子串 难度:中等 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 普通: 思路:维护一个列表tmp,遍历s判断当前i是否在tmp中,若在,则找到i在tmp对应的index,并删除index以及之前的tmp取值。...原创 2020-03-18 18:58:58 · 192 阅读 · 0 评论 -
Leetcode 20. 有效的括号
Leetcode 20. 有效的括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true 示例 3: 输入: “(]” 输出: false 思路:栈 解法很简答,就不做图解了。 cl...原创 2020-03-18 18:56:48 · 252 阅读 · 0 评论 -
Leetcode 111. 二叉树的最小深度
Leetcode 111. 二叉树的最小深度 难度:简单 用法:DFS 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2. 题目的重点在于...原创 2020-03-18 18:52:50 · 291 阅读 · 0 评论 -
Leetcode 19. 删除链表的倒数第N个节点
Leetcode 19. 删除链表的倒数第N个节点 难度:中等 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 方法题解以及图...原创 2020-03-17 19:18:39 · 288 阅读 · 0 评论 -
互联网用户发起一次请求经历了哪些过程?
李智慧老师说得非常棒,下面引自李智慧老师的《大型网站技术架构:核心原理与案例分析》一书以及《从0开始学大数据》: 首先,一个请求从Web或者移动App上发起,请求的URL是用域名标识的,比如taobao.com这 样,而HTTP网络通信需要得到IP地址才能建立连接,所以先要进行域名解析,访问域名解析服 务器DNS,得到域名的IP地址。 得到的这个IP地址其实也不是淘宝的服务器的IP地址,而是CDN...原创 2020-03-01 21:28:43 · 972 阅读 · 0 评论 -
Python求列表的最大连续区间
题目: 连续区间为公差为1的等差数列。 输入: [1, 2, 99, 3, 4, 5, 6, 5, 4, 4, 2, 6, 3, 1, 8, 5, 3, 6, 1, 2, 3, 2, 3, 4, 5, 6] 输出: [2, 3, 4, 5, 6] def get_continue_seq(str_list): ls = eval(str_list) len_ls = len...原创 2020-02-19 21:00:26 · 1823 阅读 · 0 评论 -
序列插入删除元素collections.deque
小云正在参与开发一个即时聊天工具,他负责其中的会话列表部分。 会话列表为显示为一个从上到下的多行控件,其中每一行表示一个会话,每一个会话都可以以一个唯一正整数id表示。 当用户在一个会话中发送或接收信息时,如果该会话已经在会话列表中,则会从原来的位置移到列表的最上方;如果没有在会话列表中,则在会话列表最上方插入该会话。 小云在现在要做的工作是测试,他会先把会话列表清空等待接收信息。当接收完大量来自...原创 2020-02-17 11:48:09 · 400 阅读 · 0 评论 -
Python自定义句子反转函数
上一篇介绍字符串反转:字符串’hello’变成’olleh’,也就是反转字符串,尽量不用Python的函数,尽量节省时间与空间。 这次句子反转,是在字符串反转的基础上的再次反转。 要求:将句子’hello liming’变成’liming hello’(句子反转),尽量不用Python的函数,尽量节省时间与空间。 sete = 'hello liming' # 单词反转 def reverse_...原创 2020-02-01 11:51:56 · 1092 阅读 · 0 评论 -
Python自定义字符串反转函数
字符串’hello’变成’olleh’,也就是反转字符串,尽量不用Python的函数,尽量节省时间与空间。 s = 'hello' def reverse_string(s): s = list(s) len_s = len(s) for i in range(len_s//2): temp0 = s[i] temp1 = s[len_s-...原创 2020-02-01 11:48:30 · 1155 阅读 · 0 评论 -
Python列表中含有相同字母的字符串做list嵌套归类输出
输入:[‘eat’,‘ate’,‘tea’,‘like’,‘kile’,‘liek’,‘ielk’] 输出:[[‘eat’,‘ate’,‘tea’],[‘like’,‘kile’,‘liek’,‘ielk’]] a_list = ['eat','ate','tea','like','kile','liek','ielk'] def list_group(a_list): len_list...原创 2020-02-01 11:47:03 · 3509 阅读 · 0 评论 -
Python高阶函数map、reduce、filter应用
定义 map映射函数 map()通过接收一个函数F和一个可迭代序列,作用是F依次作用序列的每个元素,并返回一个新的list。 reduce递归映射函数 reduce()把一个函数作用在一个序列上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做函数运算。 filter过滤函数 filter()与map()类似,接收一个函数F和一个可迭代序列,只不过这里的函数F是条件判断函数。...原创 2020-02-01 11:31:11 · 279 阅读 · 2 评论 -
删除相邻的重复数据
def remove_same(ll): ll_len = len(ll) del_index = [] for i in range(ll_len): if i > 0: if ll[i] == ll[i-1]: del_index.append(i) import numpy as n...原创 2020-02-01 11:25:02 · 759 阅读 · 0 评论 -
判断字符串是否为Python标识符
import keyword,string def Identifier(s): #内置关键字 kw = keyword.kwlist # Bifs bifs = dir(__builtins__) s_list = list(s) # 关键字判断 if (s in kw) | (s in bifs): return '...原创 2020-02-01 11:21:12 · 1031 阅读 · 0 评论 -
根据序列:2/1,3/2,5/3,...生成前30项打印出并求和
根据斐波那契数列 def fab(max): def fib_loop_while(max): max = max a, b = 0, 1 while max > 0: a, b = b, a + b max -= 1 yield a son =...原创 2020-02-01 11:14:50 · 452 阅读 · 0 评论 -
生成5位随机数验证码图片
%matplotlib inline from PIL import Image, ImageDraw, ImageFont import random # 获取字体以及大小 font = ImageFont.truetype("../../font/Arial.ttf", size=30) # 随机数字: def rndInt(): return str(random.randint(0...原创 2020-02-01 11:08:40 · 798 阅读 · 0 评论