自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 Leetcode 每日一题-----57.插入区间

LeetCode每日一题—57.插入区间题目描述给出一个无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 1:输入:intervals = [[1,3],[6,9]], newInterval = [2,5]输出:[[1,5],[6,9]]示例 2:输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]输

2020-11-04 16:32:48 157

原创 LeetCode每日一题---231回文链表

LeetCode每日一题----231.回文链表题目描述请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true题目分析对于这个题目,要求时间复杂度子啊O(n),空间复杂度为O(1)对于回文 我们好的办法就是找出中间的节点,然后从中间开始,一个个比较,看是否是回文的找到中间节点很简单,只要设置两个指针,快慢指针,快指针的速度是慢指针的两倍,这样当快指针到达最后的时候,慢指针这时候指的位

2020-10-23 10:56:10 125

原创 Leetcode每日一题——143.重排链表

Leetcode每日一题——143.重排链表题目描述给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为 1->5->2->4->3.题目分

2020-10-20 09:08:44 215

原创 LeetCode每日一题---19.删除链表的倒数第n个节点

LeetCode 每日一题----19删除链表的倒数第n个节点题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?题目分析这是一题链表的题目,试着用一遍扫描得出结果对于链表的一遍扫描题目,好像有很多可以双指针解决的问题,对于一道题目

2020-10-18 09:35:36 115 1

原创 LeetCode---每日一题 117.N皇后||

LeetCode每日一题—N皇后问题:n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给定一个整数 n,返回 n 皇后不同的解决方案的数量。问题分析对于N皇后问题来讲,比较好理解的就是回溯算法,回溯算法就是一种试的办法,利用条件剪枝从而减少复杂程度。既然要一步一步的试,那我们就要找一个方法进行搜索,这样才能进行取出来试,我们采用DFS的搜索方法,DFS搜索是递归方法,这在平常算法题中经常遇到问题解决def totalNQueens(self,

2020-10-17 10:26:22 117

原创 pycharm导lxml包

pycharm导lxml包心态爆炸!!!!!!!早上调了两个小时,一直显示导入错误找到最后发现,我文件命名时lxml.py,导致一直导入不上大家遇到lxml导入错误的时候先检查一下文件命名自己总结一下遇到报错的解决步骤:检查代码检查环境(包的导入)检查文件名换一个IDE尝试...

2020-10-16 11:03:44 293

原创 Leetcode每日一题---116. 填充每个节点的下一个右侧节点指针

Leetcode每日一题—116. 填充每个节点的下一个右侧节点指针###问题给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。题目分析对于

2020-10-15 09:22:36 125

原创 LeetCode每日一题---1002. 查找常用字符

LeetCode每日一题题目描述给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。例如:输入:["bella","label","roller"]输出:["e","l","l"]题目分析今天这道题目学到了,对于collections中的Counter计数器还有对这种计数特别方便的功能,学到了学到了我们可以总结

2020-10-14 09:13:36 118

原创 LeetCode每日一题---两两交换链表中的节点

Leetcode每日一题–两两交换链表中的节点题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。题目分析这是一道链表数据结构的算法题,对于链表的节点交换我们在学习数据结构的时候一定都遇到过,这一题的实际难度并不大,只需要我们在分析问题的时候,把链表的相关连接搞清楚就可以轻松解决;我们在解决链表节点交换问题时,可以在前面添加一个新的节点问题解决 def swapPairs(self, head):

2020-10-13 10:19:40 152

原创 LeetCode每日一题—530二叉搜索树的最小绝对差

这里写自定义目录标题Leetcode每日一题—530二叉搜索数的最小绝对差题目题目分析问题求解dfs方法Leetcode每日一题—530二叉搜索数的最小绝对差题目给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。题目分析对于这个这个题目,首先看到洱茶搜索书,我们可以利用中序遍历得到一个从小到大排列的列表,这样求最小绝对差就容易多了问题求解dfs方法我们利用中需遍历的模版Def dfs(root): if not root: return Dfs(ro

2020-10-12 11:07:33 61

原创 LeetCode每日一题----416分割等和子集

LeetCode每日一题----416分割等和子集首先我们对题目进行分析,他需要将一个集合划分成两个相等和的集合,那么我们可以确定如下几点:列表元素和为偶数 不是偶数的return False如果列表中最大的元素大于总的和的一半,那么return False深度优先DFS方法我们已经分析出了如上几点,那么我们现在的主要任务就是去找元素的和可以刚好是总和的一半,要是可以找到几个元素的和是总数的一半,那么另一半自然也是总和的一半,这样就符合要求了,自然的我们想到遍历的方法可以是DFS。对于这种给

2020-10-11 10:20:19 133

原创 Java-Map

Map集合学习我们着重学习HashMap,Map集合是以键值对的形式存放的,不允许键的重复,Map中的Key就是set集合HashMap对于HashMap的初始化容量为16,最大容量为2^31,默认加载因子为0.75,当容量*0.75小于目前的实际数量时,会进行再次散列,会以2倍的方式扩容。特点:无序,允许为null,非同步底层由散列表(哈希表)实现 我们知道Hash的底层是散列表,而在Java中散列表的实现是通过数组+链表的 我们知道Hash的底层是散列表,而在Java中散列表的实现是

2020-06-27 15:16:54 135

原创 Java学习-Set容器

Set容器Set就是我们数学中的集合,其是无续(与你插入元素顺序不一致)且不能够重复的Set容器的分类HashSet:底层由哈希表+红黑树实现,无续(与你插入元素顺序不一致),利用HashSet可以快速查找,效率很高LinkedHashSet继承HashSet,其底层是哈希表+双向链表,可以实现迭代有序,但其查找效率相对于HashSet,没有其高TreeSet:底层由红黑树实现,可以实现按照元素的大小写进行排序之间的继承关系如下:HashSetHashSet底层就是HashMap的KE

2020-06-25 20:21:04 517

原创 Java学习---容器List学习

容器List学习List分类ArrayList:底层采用数组,便于查找LinkedList:底层采用双向链表,便于插入Vector:底层也是采用数组,但是与ArrayList最大区别就是Vector的方法加了synchronized,是线程安全的(至于线程安全我们以后再了解)ArrayList相关方法public class ArraylistLearing { public static void main(String [] args) { List<Integer&gt

2020-06-24 15:17:24 69

原创 Java学习---迭代器

迭代器迭代器的作用-比如当我们已经把一些对象存放在了ArrayList之中,这个时候,我们想要修改数据结构,想要把他们放到容器Set之中,对Set中的元素加以处理,我们原本已经为ArrayList构建了大量的代码来完成一系列的工作,结果现在来了一个set,为了保持一个代码共用性,就出现了迭代器,因为所有的容器底层都实现了接口Iterable(可迭代的)。迭代器相关方法1.it.hasNext() 这是用来判定是否还存在下一个元素对于我自身的理解,在一开始,你设置了一个迭代器Iterator it=

2020-06-23 21:08:08 322

空空如也

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

TA关注的人

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