自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

you are sherlocked by me!

大家好,我是江湖狗哥!

  • 博客(44)
  • 收藏
  • 关注

原创 leetcode和为s的连续正整数序列

输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]addressfrom typing import Listclass Solution: def findContinuousSequence(self, target: int) -> List[List[int]]:.

2020-09-18 20:04:45 233

原创 leetcode找出给定方程的正整数解(1237)

给出一个函数 f(x, y) 和一个目标结果 z,请你计算方程 f(x,y) == z所有可能的正整数 数对 x 和 y。给定函数是严格单调的,也就是说:f(x, y) < f(x + 1, y)f(x, y) < f(x, y + 1)函数接口定义如下:interface CustomFunction {public:// Returns positive integer f(x, y) for any given positive integer x and y.i.

2020-09-18 19:48:51 291

原创 python爬取阳光问政

address使用了requests库以及lxml作为数据提取库这个网站似乎没有做前后端分离,但是没有做数据加密以及反爬措施,所以可以很简单的爬取#!usr/bin/python# -*- coding:utf8 -*-"""http://wz.sun0769.com/political/index/politicsNewest?id=1&page=1"""import timeimport jsonimport requestsfrom lxml import etre.

2020-09-16 09:18:22 378

原创 python爬取金色财经信息

这个爬虫比较简单,不需要用一些常用的数据提取库比如bs4(beautiful)以及lxml库或jsonpath需要注意的是下拉加载使用的是ajax异步请求局部刷新,返回的直接是json数据,里面拥有所有需要的数据,并且没有加密措施,这样我们直接使用requests库进行爬取就可以了.需要找到下拉加载刷新的规律,主要就看前一个响应的bottom_id,作为下一个请求的information_id的查询字符串参数.address#!usr/bin/python# -*- coding:utf8 .

2020-09-15 10:10:23 719

原创 python爬取小说信息(对于数字加密的反爬)

以起点为例, 爬取过程中需要注意的就是对于数字加密的反爬,我们需要找到加密的字体,找到0-9对应的映射关系,生成一个映射的字典,就可以方便的爬取了#!usr/bin/python# -*- coding:utf8 -*-"""url https://www.qidian.com/all?chanId=21&subCateId=8"""import reimport jsonimport requestsfrom lxml import etreefrom fontToo.

2020-09-14 20:45:56 879

原创 leetcode独一无二的次数(1207)

给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。addressfrom typing import Listimport collectionsdef unique_occurrences(arr: List[int]) -&.

2020-09-14 20:14:47 132

原创 leetcode删列造序(944)

给定由 N 个小写字母字符串组成的数组 A,其中每个字符串长度相等。你需要选出一组要删掉的列 D,对 A 执行删除操作,使 A 中剩余的每一列都是 非降序 排列的,然后请你返回 D.length 的最小可能值。删除 操作的定义是:选出一组要删掉的列,删去 A 中对应列中的所有字符,形式上,第 n 列为 [A[0][n], A[1][n], …, A[A.length-1][n]])输入:[“cba”, “daf”, “ghi”]输出:1解释:当选择 D = {1},删除后 A 的列为:.

2020-09-13 19:30:56 170

原创 leetcode键盘行(500)

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。输入: [“Hello”, “Alaska”, “Dad”, “Peace”]输出: [“Alaska”, “Dad”]注意:你可以重复使用键盘上同一字符。你可以假设输入的字符串将只包含字母。addressfrom typing import Listdef find_words(words: List[str]) -> List[str]: line1 = ['q', 'w.

2020-09-13 19:15:53 179

原创 python爬取有道翻译(最新)

打开有道翻译的页面,我们先打开谷歌浏览器的开发者工具,切换到 network 抓包工具,然后在翻译中输入要翻译的内容,寻找翻译的url地址我们发现,此请求为 POST 请求,既然是 POST 请求,那么我们肯定要找到对应的 请求体 参数,不变的参数from: AUTOto: AUTOsmartresult: dictclient: fanyideskwebbv: b286f0a34340b928819a6f64492585e8doctype: jsonversion: 2.1.

2020-09-13 18:04:26 1547 2

原创 python爬取创业文章标题图片

爬虫获取36kr首页的新闻列表的文章内容网址:36kr获取文章字段:标题标题对应的url地址标题对应的图片最后保存:​ 把所有文本保存为json文件​ 把图片保存到本地的目录中import osimport reimport jsonimport requestsfrom jsonpath import jsonpathclass KrSpider(object): def __init__(self): self.url = 'h.

2020-09-12 09:51:43 142

原创 python爬取段子

糗事百科段子爬取https://www.qiushibaike.com/text/page/1/selenium和requests和lxml两种方法#!usr/bin/python# -*- coding:utf8 -*-import timefrom selenium import webdriverclass QiuBaiSpider(object): def __init__(self): self.url = 'https://www.qiushib.

2020-09-12 09:50:39 237

原创 python爬取百度贴吧

获取贴吧的每个标题以及图片确定url地址 url: https://tieba.baidu.com/f?kw={}确定抓取的数据的位置 抓取数据的时候 先对数据进行分组 遍历提取数据分组拿到li列表 //li[@class=’’]从列表页中进入到详情页中 对详情页的url地址发送请求提取图片 //img[@class=‘BDE_Image’]import osimport timeimport requestsfrom lxml import etreec.

2020-09-12 09:47:43 1293

原创 leetcode只出现一次的数字(136)

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。输入: [2,2,1]输出: 1addressfrom typing import Listdef single_number(nums: List[int]) -> int: # 1. 位运算 利用相同数字的异或为0,0和任意数异或为任意数 # res = nums[0] # for i in range(1, len(nums)): #.

2020-09-11 20:24:48 96

原创 leetcode移除重复节点

编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。输入:[1, 2, 3, 3, 2, 1]输出:[1, 2, 3]address# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: def removeDuplicateNodes(se.

2020-09-11 20:04:35 164

原创 leetcode存在连续三个奇数的数组(1550)

给你一个整数数组 arr,请你判断数组中是否存在连续三个元素都是奇数的情况:如果存在,请返回 true ;否则,返回 false 。输入:arr = [2,6,4,1]输出:false解释:不存在连续三个元素都是奇数的情况。addressfrom typing import Listdef three_consecutive_odds(arr: List[int]) -> bool: # 1. 计数法 # count = 0 # for numb.

2020-09-11 19:47:04 198

原创 leetcode893特殊等价字符串组(893)

你将得到一个字符串数组 A。每次移动都可以交换 S 的任意两个偶数下标的字符或任意两个奇数下标的字符。如果经过任意次数的移动,S == T,那么两个字符串 S 和 T 是 特殊等价 的。例如,S = “zzxy” 和 T = “xyzz” 是一对特殊等价字符串,因为可以先交换 S[0] 和 S[2],然后交换 S[1]和 S[3],使得 “zzxy” -> “xzzy” -> “xyzz” 。现在规定,A 的 一组特殊等价字符串 就是 A 的一个同时满足下述条件的非空子集:该组中的.

2020-09-10 10:46:31 295

原创 leetcodeN叉树的最大深度(559)

给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。address对于二叉树来说,是这个题address# Definition for a Node.class Node: def __init__(self, val=None, children=None): self.val = val self.children = childrenclass Solution: def maxD.

2020-09-10 10:26:25 217

原创 python爬取军事新闻网站

使用了requests和BeautifulSoup库文档地址: requestsbs4#!usr/bin/python# -*- coding:utf8 -*-"""https://mil.news.sina.com.cn/roll/index.d.html获取”中国军情“N页的爬虫,写入json文件中, 每一页的数据写入一个json文件"""import osimport jsonimport requestsfrom bs4 import BeautifulSoupc.

2020-09-09 20:10:09 1260

原创 leetcode反转链表(206)

反转一个单链表。输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULLaddress# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = Nonedef reverse_list(head: ListN.

2020-09-09 19:21:58 115

原创 leetcode两个数组的交集(349)

给定两个数组,编写一个函数来计算它们的交集。输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]addressfrom typing import Listclass Solution: def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: # return list(set(nums1) & set(nums2)) .

2020-09-08 20:13:59 148

原创 leetcode矩阵中的幸运数(1380)

给你一个 m * n 的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。幸运数是指矩阵中满足同时下列两个条件的元素:在同一行的所有元素中最小在同一列的所有元素中最大输入:matrix = [[3,7,8],[9,11,13],[15,16,17]]输出:[15]解释:15 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。提示: 元素不唯一addressfrom typing import Listdef lucky_numb.

2020-09-08 20:05:31 238

原创 leetcode两个数组间的距离(1385)

给你两个整数数组 arr1 , arr2 和一个整数 d ,请你返回两个数组之间的 距离值 。「距离值」 定义为符合此距离要求的元素数目:对于元素 arr1[i] ,不存在任何元素 arr2[j] 满足 |arr1[i]-arr2[j]| <= d 。输入:arr1 = [4,5,8], arr2 = [10,9,1,8], d = 2输出:2解释:对于 arr1[0]=4 我们有:|4-10|=6 > d=2|4-9|=5 > d=2|4-1|=3 > d=.

2020-09-08 19:20:59 222

原创 leetcode山脉数组的顶峰索引(852)

我们把符合下列属性的数组 A 称作山脉:A.length >= 3存在 0 < i < A.length - 1 使得A[0] < A[1] < … A[i-1] < A[i] >A[i+1] > … > A[A.length - 1]给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < … A[i-1] <A[i] > A[i+1] > … > A[A.length - 1] 的 i 的值。.

2020-09-07 17:48:04 181

原创 leetcode化栈为队列

实现一个MyQueue类,该类用两个栈来实现一个队列。MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); // 返回 1queue.empty(); // 返回 false和此题一样: addressaddressclass MyQueue: def __init__(self): """ In.

2020-09-07 16:56:47 106

原创 leetcode有序数组的平方(977)

给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]addressfrom typing import Listdef sorted_squares(A: List[int]) -> List[int]: # return list(map(lambda x: x*x, sorted(A, key=lambda x: abs(x)))) retu.

2020-09-06 21:47:06 202

原创 leetcode反转字符串(344)

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1)的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]addressfrom typing import Listdef reverse_string(s: List[str]) -&.

2020-09-06 21:31:08 115

原创 leetcode除数博弈(1025)

爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 False。假设两个玩家都以最佳状态参与游戏。输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。addressdef

2020-09-05 20:35:29 162

原创 leetcode递增顺序查找树(897)

给你一个树,请你 按中序遍历 重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。address# Definition for a binary tree node.class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: def inc.

2020-09-05 19:36:02 244

原创 leetcode最近的请求次数(933)

写一个 RecentCounter 类来计算最近的请求。它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。返回从 3000 毫秒前到现在的 ping 数。任何处于 [t - 3000, t] 时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 ping。保证每次对 ping 的调用都使用比之前更大的 t 值。输入:inputs = [“RecentCounter”,“ping”,“ping”,“ping”,“ping”], inputs = [.

2020-09-05 18:43:44 206

原创 leetcode增减字符串匹配(942)

给定只含 “I”(增大)或 “D”(减小)的字符串 S ,令 N = S.length。返回 [0, 1, …, N] 的任意排列 A 使得对于所有 i = 0, …, N-1,都有:如果 S[i] == “I”,那么 A[i] < A[i+1]如果 S[i] == “D”,那么 A[i] > A[i+1]输入:“IDID”输出:[0,4,1,3,2]addressfrom typing import Listdef di_string_match(S: str.

2020-09-04 10:23:55 185

原创 leetcode数组拆分(561)

给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1),(a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整数,范围在 [1, 10000].数组中的元素范围在 [-10000, 10000].addressfrom typing import List.

2020-09-04 09:44:22 238

原创 leetcode判定字符是否唯一

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。输入: s = “leetcode”输出: falseaddressdef is_unique(astr: str) -> bool: # 1. 利用集合去重 # return len(astr) == len(set(astr)) # 2. 遍历一遍字符串,如果重复则返回False buckets = [0] * 26 for char in astr: buck.

2020-09-04 09:32:37 172

原创 leetcode商品折扣后的最终价格(1475)

给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j]相等的折扣,其中 j 是满足 j > i 且 prices[j] <= prices[i] 的 最小下标 ,如果没有满足条件的 j ,你将没有任何折扣。请你返回一个数组,数组中第 i 个元素是折扣后你购买商品 i 最终需要支付的价格。输入:prices = [8,4,6,2,3]输出:[4,2,4,2,3].

2020-09-03 20:24:20 565

原创 leetcode生成每种字符都是奇数个的字符串(1374)

给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 。返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。输入:n = 4输出:“pppz”解释:“pppz” 是一个满足题目要求的字符串,因为 ‘p’ 出现 3 次,且 ‘z’ 出现 1 次。当然,还有很多其他字符串也满足题目要求,比如:“ohhh” 和 “love”。addressdef generate_the_string(n: int).

2020-09-03 20:06:10 159

原创 leetcode二进制中1的个数

请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。addressdef hamming_weight(self, n: int) -> int: """ 此题与lee.

2020-09-03 19:54:48 128

原创 leetcode用两个栈实现队列(剑指offer09)

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )addressclass CQueue: """ stack1负责插入元素 stack2弹出元素,如果stack2为空,stack1也为空则返回-1 如果stack2为空,stack1不为空,则将stack1弹出到stack2中, 最.

2020-09-03 19:44:51 165

原创 leetcode最大数值

编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。输入: a = 1, b = 2输出: 2addressdef maximum(a: int, b:int) -> int: # max(a,b) = (|a-b|+a+b)/2 return (abs(a - b) + a + b) // 2if __name__ == '__main__': a = 2 b = 5 print(maximum(a,.

2020-09-03 19:26:19 115

原创 leetcode反转字符串中的单词(557)

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。输入:“Let’s take LeetCode contest”输出:“s’teL ekat edoCteeL tsetnoc”提示:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。addressdef reverse_words(s: str) -> str: # messages = s.split() # for i in range(len.

2020-09-02 22:10:47 161

原创 leetcode高度检查器(1051)

学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。输入:heights = [1,1,4,2,1,3]输出:3解释:当前数组:[1,1,4,2,1,3]目标数组:[1,1,1,2,3,4]addressfrom typing import Listdef height_checker(heights: L.

2020-09-02 21:51:02 100

原创 leetcodeN叉树的前序遍历(589)

给定一个 N 叉树,返回其节点值的前序遍历。addressfrom typing import List# Definition for a Node.class Node: def __init__(self, val=None, children=None): self.val = val self.children = childrendef pre_order(root: Node) -> List[int]: # 迭.

2020-09-02 21:37:19 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除