自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 leetcode笔记: 二分查找

33整数数组 nums 按升序排列,数组中的值 互不相同 。在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为[4,5,6,7,0,1,2] 。给你 旋转后 的数组 nums 和一个整

2021-09-06 11:53:48 157

原创 关于二分查找的 left <= right 和 left < right 的不同

关于二分查找的 left <= right 和 left < right 的不同今天写一道leetcode题,突然意识到了,二分查找的循环限制条件可以有两种,while left <= right 和 while left < right之前只是粗略地记着,while left <= right 的右指针改变条件为 right = mid - 1while left < right 的右指针改变条件为 right = mid但这也不完全对, 下面让我们看这道l

2021-09-06 10:10:11 1313

原创 关于idea连接mysql的time zone问题

关于idea连接数据库的time zone问题1.使用idea的databases连接mysql报错Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezone’ property这是因为你系统的时区和mysql的时区不一致导致,解决方案:# 设置全局时区 mysql> set global time_zone = '+8:00';Query OK, 0 rows affected (0.00

2021-06-15 18:48:58 587 1

原创 如何在IDEA设置Tomcat

在IDEA设置Tomcat最近在学习springMVC, 所以需要将代码运行在Tomcat, 故写此文章记录如何设置。1. 下载Tomcat打开Tomcat官网 https://tomcat.apache.org/在左侧选择你要下载的版本下载完毕后, 进行解压/安装,会得到一个文件夹, 这就是我们的Tomcat框架了,记住此文件夹的位置。2. 在IDEA下载Tomcat插件依次打开settings, plugins在Marketplace搜索并下载Tomcat (Smart To

2021-04-28 00:20:46 378

原创 python的位运算符:&,|,^

python的位运算符位运算符是以2进制为标准而进行计算的,而2进制在编程中也是很重要的一个部分,所以在此科普一下python的位运算符。1. & 与运算符我们拿3(0b11)和 2(0b10)来演示。可以看到,都为1的位才为1,所以输出为2(0b10),因为 11 和 10 第二位为1。2. | 或运算符或的定义为:只要某位有一项为 1 ,结果即为 1。依然拿3(0b11)和 2(0b10)来演示。输出为3(0b11)。3. ^ 异或运算符异或的定义为:某位相同为 0

2020-06-24 17:05:06 938

原创 Python海象运算符

海象运算符最近,在刷Leetcode时,看到了一个新的运算符:if (n := len(a)) >= 10: print('true')一开始还不明白,后来一查,原来是Python3.8中新加入的赋值表达式。可以看出Python3.7并不支持官网是这样介绍这个新的赋值表达式的:There is new syntax := that assigns values to variables as part of a larger expression. It is affectio

2020-06-20 23:08:08 415

原创 单调栈

单调栈最近在做一些算法题时用到了单调栈的思想,所以在这里写一下我对于这种栈的理解。栈,是数据结构里一个十分基础的概念,其最大的特点就是“先进后出”。而至于单调栈,顾名思义,就是栈里的元素满足单调递增或单调递减。而我们如何评判单调栈是单调递增还是单调递减呢?我们一般将栈顶到栈底定义为评判方向:从栈顶到栈底递增,为单调递增栈;从栈顶到栈底递减,为单调递减栈。单调递增栈:【6, 5, 2】(栈顶)单调递减栈:【2, 4, 8】(栈顶)维护单调栈明白了单调栈的定义后,下面我们来说说怎么维护一个

2020-06-12 22:49:53 133

原创 Python的collections库之deque

Python的collections库之deque()我在上一篇文章BFS里使用了Python的collections.deque(),今天我来具体介绍一下这个队列,以及为什么使用它更好。首先,collections模块提供了Python标准内建容器 dict、list、set、tuple 的替代选择。此模块相较于传统Python的容器,都有一定优点。今天我先来介绍其中的队列----deque。collections.deque()队列支持线程安全,对于从两端添加(append)或者弹出(pop),复

2020-06-10 21:58:34 387

原创 利用Python实现广度优先搜索BFS

利用Python实现广度优先搜索BFS广度优先搜索和深度优先搜索一样,都是最基础的搜索算法,为了体验广度优先搜索BFS的特点,在这篇文章中,我将使用Python来实现一个BFS解答题目的过程。首先,让我们来看看BFS的定义:广度优先搜索BFS(Breadth First Search)也称为宽度优先搜索,它是一种先生成的结点先扩展的策略。其中,BFS的基本步骤有三步:(1)从队列头取出一个结点,检查它按照扩展规则是否能够扩展,如果能,则生成一个新结点。(2)检查新生成的结点,看它是否已经使用过,

2020-06-09 23:18:41 725 1

原创 递归与动态规划的不同

递归与动态规划递归与动态规划是两个十分基本的算法,它们使用的思路都是分而治之(将一个大问题拆解成一个小问题),我在刚开始学算法时,也是不明白这两者有什么不同,在经过这么久的学习后,我也是对此有了自己的理解(如有不对,欢迎指正)。下面便是我觉得,递归和动态规划的几个不同:1.递归是从上而下(从大问题到小问题),而动态规划是由下而上(先解决小问题最后到大问题);2.动态规划会储存每个小问题的结果,从而它的计算速度会比递归要快。(代价是动态规划的空间复杂度更高,即用空间换取的时间)现在大家可能还不是很理

2020-06-07 23:23:21 6442 3

空空如也

空空如也

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

TA关注的人

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