自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嘿,小屁孩的博客

如果心无所待,那就随遇而安!

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

原创 每日一道剑指offer-机器人的运动范围

题目:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?示例 1:输入:m = 2, n = 3, k = 1输出:3示例 2:输入:

2021-04-22 17:49:51 235 2

原创 每日一道剑指offer-矩阵中的路径

题目:给定一个m x n 二维字符网格board 和一个字符串单词word 。如果word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 "ABCCED"(单词中的字母已标出)。示例 1:输入:board = [["A","B","C","E"],["S","F","C","S"]...

2021-04-20 11:56:35 284

原创 每日一道剑指offer-重建二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000解析:这道题很有意思,利用了前序遍历和中序遍历的特点,有两种方法一种递归法,一种迭代法。...

2021-04-14 18:00:38 165

原创 每日一道剑指offer-旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0解析:这道题的意思是:输入的是一个旋转后的数组,让我们把这个旋转后的数组的最小值返回,这个数组旋转之前是按照递增排序的(从小到大);根据题目的介绍,有多种方法可...

2021-04-13 17:45:01 80

原创 每日一道剑指offer-用两个栈实现队列

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue","deleteHead","appendT.

2021-04-12 11:49:39 74 1

原创 每日一道剑指offer-青蛙跳台阶问题

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100解析:这道题和爬楼梯一模一样,和斐波那契数列特别相似,不过就是初始条件不太相同而已,主要将这个问题化为两个子问.

2021-04-09 11:45:06 150 2

原创 每日一道剑指offer-斐波那契数列

题目:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0,F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n...

2021-04-08 17:48:34 170

原创 每日一道剑指offer-从尾到头打印链表

题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000解析:标准的链表操作,针对这道题,要求翻转链表也就是末尾的数转移到开头。那么就有两种方式,第一种方式顺着链表挨个访问元素,将每一个元素加入数组,然后最后翻转输出即可(也就是利用栈这种数据结构,先进后出特性)。第二种方式使用递归的方式,挨个往下访问,当到最后一个元素时,从最后一个元..

2021-04-07 11:36:54 85 1

原创 每日一道剑指offer-连续子数组的最大和

题目:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。提示:1 <=arr.length <= 10^5-100 <= arr[i] <= 100解析:通过题目我们可以知道,这个问题也就是求一个数组的子数组(由这个数组中的顺序元...

2021-04-06 18:03:45 97

原创 每日一道剑指offer-替换空格

题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000解析:这道题很简单,相信很多人都能秒写出来,就是将空格替换成替换成“%20”没有什么过多的技术,需要注意的一点,python,java等语言,字符串是不可变的,也就是说我们无法对原字符串做任何修改;所以在原字符串上进行添加操作是行不通的。要么将字符串的..

2021-03-31 17:55:10 70

原创 每日一道剑指offer-二维数组中的查找

题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 targ...

2021-03-30 14:58:46 81 2

原创 每日一道剑指offer-数组中重复的数字

找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000解析:有题目我们可以知道,本题是求重复的数字,而且不管重复几个只需要返回一个即可,根据这个要求,就有好几种方法可以解决。第一种:暴力...

2021-03-29 09:37:33 105 3

原创 如何将本地的Flask Web项目部署在生产环境(项目上线)

当我们在本地开发一个Flask web项目的时候,当时用的环境是开发环境,那么怎么才能将项目部署到生产环境?(将项目部署到常生产环境也就是说的项目上线:上线用大白话说就是把本地代码打包到线上,让大家都能访问的到)在介绍正式内容之前,先来介绍一下什么是开发环境,测试环境和生产环境。开发环境-development:顾名思义就是开发人员写代码,开发系统的环境,由开发人员配置。测试环境-testing:开发人员将系统在开发环境完成之后,交给测试人员,在测试环境进行测试,也就是检查系统各个功能有没有啥.

2021-03-18 17:42:32 2501

原创 采集微信公众号数据的思路

微信公众号数据的采集有两个途径:1,搜狗微信:因为搜狗与微信有合作,所以可以用搜狗微信进行采集;这个一个公众号只能采集最新的10条,要是获取历史文章就捉襟见肘了。而且要注意爬取频率,频率高会有验证码,这个平台只能进行小数据量的采集,不推荐。2,微信公众号平台:这个微信的官方公众号平台,首先得申请公共号(因为微信近期开放了在公众号中插入其他公众号链接的功能,这样才可以进行数据的采集),然后在发表文章那个地方点击超链接就可以进行爬虫的操作。这个可以爬取历史文章,是推荐到的方式。(但要注意的是,这种...

2020-08-10 14:59:35 1720 7

原创 Selenium解决网页懒加载的问题

在进行爬虫等数据采集任务,将爬取的页面保存成mhtml也面的时候,往往会遇到一些页面,存在懒加载的问题,这样就算将网页保存下来,里面的图片等都会丢失。这里介绍使用自动化测试工具解决懒加载的问题。 首先,懒加载是什么?其实网上有很多的专业介绍,这里我就用一句话概括,为了减轻服务器的压力,用户访问页面的时候,不会全部将页面加载,而是当用户浏览到哪,加载到哪。这样的结果就是当你保存页面的时候,有些数据是拿不到的,因为你没浏览到某个地方,这个地方的数据是无法加载的。 解决思路:...

2020-08-10 14:40:55 2115

原创 运行程序pycharm报错:Process finished with exit code -1073741819 (0xC0000005)

今天跑tensorflow程序,突然出现这句话。没有任何的报错位置。让人一时间摸不着头脑。然后各种百度,用了很多的方法。什么删除h5py,什么取消pyqt兼容,utf-8编码问题,什么重启问题等等。都没有解决。然后偶然发现自己的文件路径是中文,然后改成英文,好使了。很尴尬的解决方案,告诉我们创建文件必须用英文,能减少很多的bug,切记。...

2020-03-03 18:41:26 520

原创 解决Pycharm设置虚拟环境,pip仍为全局的问题

问题:用Pycharm设置完虚拟环境(如何设置虚拟环境网上有好多教程,这里不再赘述)后,通过命令行进入虚拟环境,pip list仍然为全局pip。也就是用pip安装只会安装到全局目录下。而虚拟环境中没有解决办法:第一种办法:看看目录是否为中文(这点我遇到的没解决,但是网上有人遇到,也可能会产生这种问题,也算是一种解决办法)第二种办法:改变环境变量(这个我也没有遇到,这个可以看这个博...

2019-09-25 10:48:54 7705 4

原创 如何将你的web项目放到服务器上,用域名访问

今天将一个web项目放到了服务器上,想测试一下服务器的性能,想不到这个放的过程,配置环境的过程还是存在问题。将web项目放到服务器上,然后通过域名访问,主要有以下几步:第一步:在服务器上配置java环境,从java官网下载jdk,然后安装。配置环境具体配置环境步骤:1,打开我的电脑,右键属性,点击高级设置,在点击环境变量。 ...

2019-08-05 00:42:24 13834 7

原创 Leetcode题库-求众数(java语言版)

题目描述给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2 这道题很简单,有多种思路,在这里我主要介绍四种,很有意思的一种思路叫做摩尔投票。这个是从网上借鉴的...

2019-07-26 23:55:16 349

原创 Leetcode题库-只存在一次的数字(java语言版)

题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4 本题属于简单题,思路有两个: 第一个思路:查找表map,我首先想到的是...

2019-04-02 20:07:26 198

原创 Leetcode题库-存在重复元素3(java语言版)

题目描述:给定一个整数数组,判断数组中是否有两个不同的索引i和j,使得nums [i]和nums [j]的差的绝对值最大为t,并且i和j之间的差的绝对值最大为ķ。示例1:输入: nums = [1,2,3,1], k = 3, t = 0输出: true示例 2:输入: nums = [1,0,1,1], k = 1, t = 2输出: tr...

2019-03-28 00:30:40 257

原创 Leetcode题库-存在重复元素2(java语言版)

题目描述:给定一个整数数组和一个整数k,判断数组中是否存在两个不同的索引i和j,使得nums [i] = nums [j],并且i和j的差的绝对值最大为k。示例1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums...

2019-03-28 00:11:59 161

原创 Leetcode题库-回旋镖的数量(java语言版)

题目描述:给定平面上n对不同的点,“回旋镖” 是由点表示的元组(i, j, k),其中i和j之间的距离和i和k之间的距离相等(需要考虑元组的顺序)。找到所有回旋镖的数量。你可以假设n最大为500,所有点的坐标在闭区间[-10000, 10000]中。示例:输入:[[0,0],[1,0],[2,0]]输出:2解释:两个回旋镖为 [[1...

2019-03-26 20:51:30 242

原创 Leetcode题库-字母异位词分组(java语言版)

题目描述:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明:所有输入均为小写字母。 不考虑答案输出的顺序。 ...

2019-03-26 20:41:14 386

原创 Leetcode题库-四数相加2(java语言版)

题目描述:给定四个包含整数的数组列表A , B , C , D ,计算有多少个元组(i, j, k, l),使得A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228到 228- 1 之间,最终结果不会超过231- 1 。例如:输入:...

2019-03-25 23:40:39 300

原创 Leetcode题库-四数之和(java语言版)

题目描述:给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素a,b,c和d,使得a+b+c+d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要...

2019-03-22 19:11:05 160

原创 Leetcode题库 - 三数之和(java语言版)

题目描述:给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]] ...

2019-03-22 17:59:53 164

原创 Leetcode题库 - 根据字符出现频率排序(java语言版)

题目描述:给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:"tree"输出:"eert"解释:'e'出现两次,'r'和't'都只出现一次。因此'e'必须出现在'r'和't'之前。此外,"eetr"也是一个有效的答案。示例 2:输入:"cccaaa"输出:"cccaaa"解释:'c'和'a'都出现三次。此外,"aaac...

2019-03-19 19:32:30 1517

原创 Leetcode题库 - 同构字符串(java语言版)

题目描述:给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以被替换得到t,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = "egg", t = "add"输出: true示例 2:输入: s = "foo", t = ...

2019-03-19 18:52:13 776

原创 Leetcode题库 - 有效的字母异位词(java语言版)

题目描述:给定两个字符串s和t,编写一个函数来判断t是否是s的一个字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。 本题第一种思路和上一篇博客:两数组的交集2很相似,...

2019-03-14 17:31:49 348

原创 Leetcode题库 - 两个数组的交集2(java语言版)

题目描述:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的...

2019-03-13 20:23:23 582

原创 Leetcode题库 - 存在重复元素(java语言版)

题目描述:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true本题有两种思路都很容...

2019-03-12 19:13:08 194

原创 Leetcode题库 - 快乐数(java语言版)

题目描述:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释: 12 + 92 = 8282 + 22 = 6862 + 82 = 10012 ...

2019-03-12 19:03:21 602

原创 Leetcode题库 - 两个数组的交集(java语言版)

题目描述:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 本题思路...

2019-03-11 13:16:48 606

原创 Leetcode题库 - 长度最小的子数组(java语言版)

题目描述:给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和≥ s的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4,3]是该条件下的长度最小的连续子数组。 这道题刚开始没有思路,就想双重for循环,尝试了一下没有成功...

2019-03-11 10:50:17 369

原创 Leetcode题库 - 盛最多水的容器(java语言版)

题目描述:给定n个非负整数a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容...

2019-03-09 19:25:27 342

原创 Leetcode题库 - 反转字符串中的元音字母(java语言版)

题目描述:编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: "hello"输出: "holle"示例 2:输入: "leetcode"输出: "leotcede"说明:元音字母不包含字母"y"。 本题思路和前两篇博客:回文串,两数之和2一样,主要使用对撞指针的方法,定义一个左指针,定义一个右指针,然后进行判断,...

2019-03-09 16:43:51 272

原创 Leetcode题库 - 验证回文串(java语言版)

题目描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false 这个问题和回文数的那个问题特别相似,不过这个不能用回文数的...

2019-03-07 19:44:31 221

原创 Leetcode题库-两数之和 II - 输入有序数组(java语言版)

题目描述:给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 1...

2019-03-06 23:16:01 226

原创 Leetcode题库 ----合并两个有序数组(java语言版)

题目描述: 给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1 = [1,2,3,0,0,0]...

2019-03-04 20:05:57 1045

空空如也

空空如也

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

TA关注的人

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