- 博客(122)
- 收藏
- 关注
原创 Leetcode __1512. 好数对的数目
问题描述给你一个整数数组 nums 。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。输入:nums = [1,2,3,1,1,3]输出:4解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始输入:nums = [1,1,1,1]输出:6解释:数组中的每组数字都是好数对输入:nums = [1,2,3]输出:0提示:1 <=
2020-07-23 15:53:20
352
原创 Leetcode __1480. 一维数组的动态和
问题描述给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。解题思路经过实例
2020-07-23 11:18:37
335
转载 python的列表推导
列表推导式:列表推导式(list comprehension)是利用其它列表创建新列表的一种方式,工作原理类似for循环,即可对得到的元素进行转换变形 ,其基本格式如下(可以有多个for语句):[expr for value in collection ifcondition]集合推导式:集合推导式跟列表推导式非常相似,唯一区别在于用{}代替[]。其基本格式如下:{ expr for v...
2019-03-21 16:12:16
924
原创 关于下载的小知识
最近安装python,对于安装中一些其他选项做了总结:页面中的X86和X86-64的区别?web-based ,executable , embeddable zip file区别又是什么?1.X86和X86-64的区别:系統是 32 bit 的版本还是 64 bit 的2.web-based ,executable , embeddable zip file区别web-base...
2019-03-18 17:59:34
351
原创 java 日期和字符串转换
日期转字符串假如把今天的日期转成字符串可用 String str = sdf.format(new Date());这个字符串内容的格式类似2018-11-08 19:20:00。透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2017年7月10日,我们可以这么写:SimpleDateFormat sdf = new SimpleDateFormat...
2018-11-05 10:43:55
252
原创 登录测试——SQL注入
登录页面的安全性测试包含一项:防止SQL注入什么是SQL注入SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。例如:填好正确的用户名(marcofly)和密码(test)后,点击提交,将会返回给我们“欢迎管理员”的界面。select * from users where username=‘mar...
2018-11-05 10:08:43
8792
原创 Leetcode __22. 括号生成
问题描述给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]解题思路左括号不为0,消耗左括号右括号不为0,且大于左括号,则消耗右括号都为0,则出栈,存到list中,直到最后出栈结束。...
2018-10-31 17:54:10
215
原创 Leetcode __283. 移动零
问题描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。解题思路思想挺巧妙的,值得记录一下题目中要求只能在原有的数组中操作,且不申请额外数组,操作次数要少理解:相对顺序:就是除去0外,原有的元...
2018-10-31 14:21:21
171
原创 Leetcode __169. 求众数
问题描述给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2解题思路最常规的做法:把每个元素个数求出来,再判断个数>n/2的,即为所求比较巧妙的做法:取一个元素标识,一样的...
2018-10-30 17:53:37
181
原创 Leetcode __14. 最长公共前缀
问题描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。解题思路首先是边界值的考虑,除了参数判断外,这里...
2018-10-29 15:51:52
194
原创 Leetcode __28. 实现strStr()
问题描述实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle =...
2018-10-29 11:45:24
197
原创 Leetcode __682. 棒球比赛
问题描述你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. “+”(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. “D”(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. “C”(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,...
2018-10-29 11:00:24
262
原创 Java递归删除文件及其文件夹
知识点File 的delete():Deletes the file or directory denoted by this abstract pathname. If this pathname denotes a directory, then the directory must be empty in order to be deleted.删除由该抽象路径名表示的文件或目录。如...
2018-10-26 15:29:45
568
原创 Java传参,传的是什么?
java传参,传的既不是引用也不是内容经典案例public class JavaTest { public static void main(String[] args) { String mes = "Hello"; transf(mes); System.out.println(mes); } private sta...
2018-10-26 11:26:39
792
原创 代理模式
概念为其他对象提供一种代理,以控制对这个对象的访问实现Subject类定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用ProxySubject抽象接口abstract class Subject{public abstract void Request();}RealSubject类,定义了Proxy所代表的真实实体...
2018-10-23 21:53:09
195
原创 Leetcode __67. 二进制求和
问题描述给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”解题思路两个数,最后一位对齐做加和运算,sum为每次对齐位置上加和sum%2为加和之后的值,如(1+0)%2=1,(1+...
2018-10-23 18:47:33
242
原创 适配器模式
概念适配器模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适应场景系统的数据和行为都是正确的,但是结构不符时,应该考虑适配器模式,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用与希望复用一些现存的类,但是接口又与复用情况不一致的情况。使用一个已经存在的类,但如果它的接口,也就是它的方法和你...
2018-10-23 14:17:55
264
原创 Leetcode __724. 寻找数组的中心索引
问题描述给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:索引3 (nums...
2018-10-23 13:20:29
281
原创 Leetcode __59. 螺旋矩阵 II
问题描述给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[[ 1, 2, 3 ],[ 8, 9, 4 ],[ 7, 6, 5 ]]解题思路不要怕码放,一圈一圈转,一个边一个边遍历边界值为闭区间实现class Solution { public int[][] generateMatrix...
2018-10-22 18:41:59
222
原创 Leetcode __54. 螺旋矩阵
问题描述给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]]输出: [1,2,3,...
2018-10-22 18:12:41
420
原创 Leetcode __338. 比特位计数
问题描述给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度...
2018-10-21 17:31:53
450
原创 Leetcode __78. 子集
问题描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]解题思路一位一位的往上叠加,比如对于题目中给的例子[1,2,3]来说,最开始是空集,那么我们现在要处理1,就在空集上加1...
2018-10-21 17:21:22
195
原创 Leetcode __807. 保持城市天际线
问题描述在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。 高度 0 也被认为是建筑物。最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远处观看时,由所有建筑物形成的矩形的外部轮廓。 请看下面的例子。建筑物高度可以增加的最大总和是多少?...
2018-10-21 15:32:03
319
原创 Aop
Aop概念,Aspect Oriented Programming的缩写,意为:面向切面编程spring aop怎么用用法:AOP主要包含了通知、切点和连接点等术语通知:通知定义了切面什么以及何时调用,如before(在方法调用之前调用通知),after(在方法完成之后调用通知,无论方法执行是否成功),after-retuning(在方法成功执行之后调用通知),after-thr...
2018-10-19 17:28:38
212
原创 Ioc是什么?不使用ioc和使用ioc体现出来的区别是什么?
Ioc是什么?控制反转控制什么?反转什么?控制是控制对象,反转是反转权限;控制就是spring容器来管理对象,对象的创建注入反转就是:之前需要哪个类的实现,在用的地方new哪个实现,现在是通过spring来管理,new哪个对象根据配置文件来就可以。不使用ioc和使用ioc体现出来的区别是什么?使用了IOC就降低了,代码的耦合度使用了IOC:不需要自己管理新建对象,创建的对象可以通过...
2018-10-19 14:29:04
1947
原创 Linux
所有内容全部转换为文件/proc文件下为各个进程的文件,以PID命名,但大小都为空,都为虚拟文件每个PID内都为进程的相关信息,如cup,stack…管道与重定向|:管道>:重定向,新开始,覆盖>> :重定向,追加...
2018-10-18 23:27:27
176
原创 模版方法模式
模版方法模式模版方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定的步骤。特点重复 = 易错+难改模版方法模式是通过把不变的行为搬移到超类,移除雷小红重复代码来体现他的优势。模版方法模式提供了一个很好用的代码复用平台。当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出现,通...
2018-10-18 23:18:45
181
原创 Leetcode __872. 叶子相似的树
问题描述请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。举个例子,如上图所示,给定一颗叶值序列为 (6, 7, 4, 9, 8) 的树。如果有两颗二叉树的叶值序列是相同,那么我们就认为它们是 叶相似 的。如果给定的两个头结点分别为 root1 和 root2 的树是叶相似的,则返回 true;否则返回 false 。提示:给定的两颗树可能会有 1 ...
2018-10-18 18:35:08
305
原创 Leetcode __257. 二叉树的所有路径
问题描述给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入:1/ 2 35输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3解题思路看到的时候想到的就是先序遍历,但是怎么根据先序遍历实现呢?其实我理解先序遍历,就是...
2018-10-18 14:53:48
332
转载 linux之/proc文件
/proc下面的内容是什么Linux是一个文件类型的系统,所有信息都存储在文件中,系统文件也不列外/proc 文件系统包含了大量的有关当前系统状态的信息 。/proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供...
2018-10-18 12:46:29
213
原创 Leetcode __766. 托普利茨矩阵
问题描述如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵。给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True。示例 1:输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出: True解释:在上述矩阵中, 其对角线为:“[9]”, “[5, 5]”, “[1, 1, 1]”, “...
2018-10-17 15:13:44
264
原创 Leetcode __637. 二叉树的层平均值
问题描述给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.示例 1:输入:3/ 9 20/ 15 7输出: [3, 14.5, 11]解释:第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].注意:节点值的范围在32位有符号整数范围内。解题思路树结构的 层序,第一反应的思路就是层序遍历的思想:通过Qu...
2018-10-17 12:36:03
273
原创 Leetcode __136. 只出现一次的数字
问题描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4解题思路一般这种不使用额外空间,时间复杂度低的,用按位运算比较多知识点异或相同数字异或为0不同数...
2018-10-16 22:13:37
198
原创 Leetcode __206. 反转链表
问题描述反转一个单链表。示例:输入: 1-&amp;gt;2-&amp;gt;3-&amp;gt;4-&amp;gt;5-&amp;gt;NULL输出: 5-&amp;gt;4-&amp;gt;3-&amp;gt;2-&amp;gt;1-&amp;gt;NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
2018-10-16 14:54:28
309
原创 Leetcode __700. 二叉搜索树中的搜索
问题描述给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \1 3和值: 2你应该返回如下子树: 2 / \ 1 3在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应...
2018-10-16 08:21:14
400
原创 Leetcode __876. 链表的中间结点
问题描述给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.n...
2018-10-15 11:59:36
212
原创 Leetcode __13. 罗马数字转整数
问题描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的...
2018-10-15 10:07:15
209
原创 Leetcode __349. 两个数组的交集
问题描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。解题思路将两个数组都放入set中去重,在以siz...
2018-10-14 17:58:40
410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人