自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode编程题

905.按奇偶排序

2019-09-20 23:40:23 138

原创 内存泄漏

1、内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出。内存泄漏是指你向系统申请分配内存进行使用(new),可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。就相当于你租了个带钥匙的柜子,你存...

2019-12-08 20:29:22 122

原创 SQL事务

事务定义1.一个数据库操作序列2.一个不可分割的工作单位3.恢复和并发控制的基本单位例如: 比如说用户A 要给用户B 转账1000 银行C A账户-1000; SQL ----一个事务 B账户+1000; SQL如果银行C在用户A转给用户B的同时 发生了故障 要么同时成功 要么就同时失败 一个事务 相当于一套业务逻辑 那么这一套的业务逻辑彼此要保...

2019-11-09 19:28:09 169 1

原创 209.长度最小的子数组

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...

2019-09-27 17:09:27 130

原创 递归

定义1.把一个直接调用自己的或通过一系列的调用语句间接的调用自己的函数称为递归函数。2.写递归最怕的就是陷入无限的循环中,所以递归函数必须至少有一个条件,满足递归不再进行,即不在引用自身而是返回值退出3.我们在写递归函数时最好先写结束条件。用处:将大型复杂问题化解为若干小问题进行求解好处:代码量减少弊端:占空间,函数是基于栈内存来运行的要素:前进段,边界条件,返回段递归的应用案列...

2019-09-23 20:07:34 122

原创 119.杨辉三角2

给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。/** * @param numRows * @return * 在外围线性表中创建个数与行数相等的线性表 * 每行的第一个与最后一个数字为1 * 中间的数为上一行的前后数字和 * 将和加入list中 * 将list中的角标k取出则就是索引为k的行数...

2019-09-20 23:38:59 99

原创 88.合并两个有序数组

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

2019-09-20 23:32:35 107

原创 66.加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。来源:力扣(L...

2019-09-20 23:25:24 119

原创 53.最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-subarray/*** 将和s...

2019-09-20 23:17:20 84

原创 35.搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(Le...

2019-09-20 23:04:33 80

原创 27.移除元素

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为...

2019-09-20 22:58:42 80

原创 26.删除排序数组中的重复项

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums ...

2019-09-20 22:55:13 145

原创 1.两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(LeetC...

2019-09-20 22:34:26 91

原创 循环链表

循环链表定义将单链表中终端结点的指针端由空指针指向头结点,使整个单链表形成头尾相连的环,简称循环链表。单链表与循环链表的主要差别在于,循环的判断条件上,原来是p.next是否空,现在是p.next是否为头结点。1.若将头指针作为循环链表的指针,则查询第一个结点的时间复杂度为O(1),尾结点为O(n)2.若将尾针作为循环链表的指针,则查询第一个结点的时间复杂度为O(1),尾结点为...

2019-09-17 23:21:31 301

原创 队列的链式结构与实现

队列的链式结构1.就是单向链表,只不过只能头出尾进,简称为链队列2.为了操作方便,将队头指向头结点,队尾指向尾结点3.操作与链表一致,使用链表的frist元素,与last元素进行操作基本方法public class LinkedQueue<E> implements Queue<E>{ private LinkedList<E> list; pu...

2019-09-17 17:44:02 131

原创 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]”, “[2, 2...

2019-09-17 17:32:32 122

原创 栈的链式结构及实现

链栈1.是一个栈,栈顶进出元素,单链表有头指针,栈顶也有指针,将它们的指针合二为一,将栈顶放在单链表的头部比较合适。2.单链表的头结点链栈不需要进栈栈顶在头部相当于对头添加元素public void push(E e) { list.addFirst(e); //头插法插入一个元素 }出栈栈顶在头部,对一个头元素进行删除public E pop() { ret...

2019-09-17 17:30:55 153

原创 118.杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pascals-triangle publi...

2019-09-17 07:46:13 86

原创 169.求众数

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-elemen...

2019-09-17 07:12:10 92

原创 905.按奇偶排序数组

给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] <= 5000来源:...

2019-09-16 21:58:04 80

原创 线性表的链表结构及实现

链表的定义1为了表示每个元素a(i)与其直接后继数据元素a(i+1)之间的逻辑关系,对数据元素a(i)来 说,除了存储其本身的信息之外,还需要存储一个指示其直接后继的信息数据域,存储数据元素信息的域指针域,存储直接后继位置的域,指针域中信息称为指针或链指针域与数据域组成节点Noden个结点链结成一个链表,若此链表中每个结点中只包含一个指针域,则为单链表(一个方向)...

2019-09-15 00:40:32 158

原创 循环队列的顺序结构及实现

循环队列队列的头尾相连的顺序结构称为循环队列1. 为何有循环队列队列的不足每次在队尾插入元素的时候插入位置前面的元素都得向前一位时间复杂度为O(n),每次插入都得移动2.解决办法不去移动元素,而去移动元素所在下标,将队列目前第一个元素所在角标作为队首定义头指针front,与尾指针rear去进行移动初始条件头尾指针都位于0处,插入时rear指针向后移动,出队时front...

2019-09-12 00:49:21 1040

原创 队列的顺序结构及实现

队列队列(queue):只允许在一端进行插入操作,在另一端进行删除操作的线性表是一种先进先出的线性表,允许插入的一端称为队尾,允许删除的一端为队首是一种特殊的线性表:存在顺序结构与链表结构的实现在队首出队可看为对线性表的First进行操作在队尾入队可看为对线性表的Last进行操作所以变得简单了就是用Arraylist的First与last元素进行操作队列接口的定义pac...

2019-09-10 16:42:52 469

原创 栈的两栈共享空间结构的实现

两栈共享空间结构本质就是两个ArrayStack尾部相接top1为左栈栈顶 开始于-1 = leftToptop2为右栈栈顶 开始于data.lenght = rightTop构造方法public class ArrayListDoubleEnd<E> implements Stack<E> { enum Direction{ //定义枚举类型 左右...

2019-09-10 01:03:02 314

原创 栈的顺序存储结构及实现

栈(stack)定义:仅在表尾进行插入和删除的线性表 1.是一个线性表,具有线性表的基本特征 2.先进后出 3.允许插入删除的一段为栈顶,且只在栈顶进行操作 4.插入操作叫做进栈,也称压栈,入栈 //弹夹模型 5.删除操作较出栈,也称弹栈 栈的接口定义public interface Stack<E> { /** * 获取栈中的元素个数 * @retu...

2019-09-09 23:13:13 220

原创 线性表的顺序结构及实现

基于顺序结构的线性表1.线性表:零个或多个数据元素的有限序列 序列:有序性 有限:有长度的限定,无限的概念只存在于数学中 2.线性表的顺序存储结构:用一段连续的存储单元地址依次存储线性表的数据元素 连续的存储单元 ,依次(有序)原理 1. 由 list<E> 接口实现 为什么要定义成一个接口 List可由顺序结构或链表结构实现,是一个抽象类,类中方法...

2019-09-09 20:27:20 492

原创 数据结构与算法的基本概念

数据数据的基本概念

2019-09-09 18:36:33 280 1

原创 String ,StringBuilder,StringBuffer 的异同

以下是我个人观点,不对或不当希望大家能指出啊String ,StringBuilder,StringBuffer 三者都能够用于字符串的拼接String 多用于少量数据的拼接StringBuilder多用于单线程下的拼接,速度快,安全性不强StringBuffer多用于多线程中,安全StringBilder 与StringBuffer 用法上没有多大区别...

2019-07-25 18:43:33 68

原创 final finally finalize 的区别及使用

final : 修饰符public static final double PI = 3.14被final修饰的变量为常量,修饰的父类将不能被继承finally:多用于异常捕获时try {//可能出现的异常}catch{//捕获异常}finally{//无论如何都会执行的语句}finalize:用于对象在被垃圾回收机制回收前如还需要则使用finalize...

2019-07-25 18:15:36 106

空空如也

空空如也

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

TA关注的人

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