自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 9.回文数 Java

回文数题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/palindrome-number/描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。进阶:你能不将整数转为字符串来解决这个问题吗?示例示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3

2020-10-31 23:53:44 215

原创 数据库介绍

1.什么是数据库?数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。2.为什么使用数据库,只用文件存储不行吗?可以看看这些博客:https://blog.csdn.net/wzhCAlex/article/details/70242201?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_pa

2020-10-31 00:13:03 213

原创 leetcode 503.下一个更大元素II Java

下一个更大元素II题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/next-greater-element-ii/描述给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。注意: 输入数组的长度不会超过 10000。示例示例 1:输入: [1

2020-10-30 23:38:31 300

原创 leetcode 222.完全二叉树的节点个数 Java

完全二叉树的节点个数题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/count-complete-tree-nodes/描述给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例输入: 1 / \ 2 3 / \

2020-10-30 23:17:22 264

原创 leetcode 236.二叉树的最近公共祖先 Java

二叉树的最近公共祖先题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [

2020-10-30 22:42:50 309

原创 leetcode 297.二叉树的序列化与反序列化 Java

二叉树的序列化与反序列化题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/描述序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可

2020-10-29 23:26:04 254

原创 Java面向对象总结性demo -- 图书管理

Java面向对象总结性项目 -- 图书管理简介核心需求类的设计1.创建图书相关的类2.创建操作相关的类3.创建用户相关的类4.进行整合5.实现具体的每个Operation简介这个demo是对类、抽象类、封装、继承、多态、接口等进行的一个简单代码练习,可以加深对前述知识的掌握与理解。建议只看一下框架搭建,不要看Operation的实现,写的很差!核心需求1.简单的登录2.管理端整理书籍(该功能为可扩展功能)查询书籍增加书籍删除书籍打印书籍列表退出3.用户端查询书籍借阅书籍

2020-10-29 22:08:48 320

原创 leetcode 1207.独一无二的出现次数 Java

独一无二的出现次数题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/unique-number-of-occurrences/描述给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。提示:1 <= arr.length <= 1000-1000 <= arr[i] <= 1000示例示例 1:输入:arr = [

2020-10-28 18:49:10 333

原创 String、StringBuilder与StringBuffer的区别

String、StringBuilder与StringBuffer的区别可变性线程安全性性能使用场景可变性String类中使用final关键字的数组(根据版本有所区分,JDK8及以前用char数组,之后用byte数组)来保存字符串,所以String对象是不可变的。StringBuffer和StringBuilder都继承了AbstractStringBuilder类,在AbstractStringBuilder中也是使用数组来保存字符串,但是没有用final修饰所以这两种对象都是可变的。线程安全性

2020-10-27 21:35:40 154

原创 Java 字节数组与字符串的相互转换

字节数组与字符串的相互转换字节数组转字符串字符串转字节数组字节数组转字符串 //字节数组转字符串 byte[] data = {104, 101, 108, 108, 111}; //1.整体转换 //传递一个参数,即字节数组名 String str1 = new String(data); System.out.println(str1); //2.指定区间转换 //传递三个参数,即字节

2020-10-27 20:03:39 4087

原创 Java字符数组与字符串的相互转换

Java中字符数组与字符串的相互转换字符数组转字符串字符串转字符数组字符数组转字符串 char[] chs = {'h', 'e', 'l', 'l', 'o'}; //传递一个参数,即字符数组名字 String str1 = new String(chs); System.out.println("全部转换的结果是:"); System.out.println(str1); //传递三个三叔,即字符数组名字, 开

2020-10-27 19:55:12 7369 4

原创 leetcode 900.RLE迭代器 Java

RLE迭代器题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/rle-iterator/submissions/描述编写一个遍历游程编码序列的迭代器。迭代器由 RLEIterator(int[] A) 初始化,其中 A 是某个序列的游程编码。更具体地,对于所有偶数 i,A[i] 告诉我们在序列中重复非负整数值 A[i + 1] 的次数。迭代器支持一个函数:next(int n),它耗尽接下来的 n 个元素(n >= 1)并返回以

2020-10-27 16:48:43 200

原创 leetcode 295.数据流的中位数 Java

数据流的中位数题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/find-median-from-data-stream/描述中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。进阶:如果数据流中所有整数都在 0 到 100 范围内,你将如何优化你的算法?如果数据流中 99% 的整数都在 0 到 100 范围内,你将如何优化你的算法?示例例如,[2,3,4] 的中位数是 3[2,3] 的中位数是

2020-10-27 16:15:23 179

原创 leetcode 898.子数组按位或操作 Java

子数组按位或操作题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/bitwise-ors-of-subarrays/描述我们有一个非负整数数组 A。对于每个(连续的)子数组 B = [A[i], A[i+1], ..., A[j]] ( i <= j),我们对 B 中的每个元素进行按位或操作,获得结果 A[i] | A[i+1] | ... | A[j]。返回可能结果的数量。 (多次出现的结果在最终答案中仅计算一次。)提示:

2020-10-26 21:58:57 331

原创 leetcode 897.递增顺序查找树 Java

递增顺序查找树题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/increasing-order-search-tree/solution/di-zeng-shun-xu-cha-zhao-shu-by-leetcode/描述给你一个树,请你 按中序遍历 重新排列树,使树中最左边的结点现在是树的根,并且每个结点没有左子结点,只有一个右子结点。提示:给定树中的结点数介于 1 和 100 之间。每个结点都有一个从 0 到 1000 范围内

2020-10-26 21:37:35 293

原创 leetcode 1365.有多少小于当前数字的数字 Java

有多少小于当前数字的数字题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/how-many-numbers-are-smaller-than-the-current-number/描述给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回

2020-10-26 21:21:10 374

原创 leetcode 896.单词数列 Java

单词数列题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/monotonic-array/描述如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。提示:1 <= A.len

2020-10-26 21:13:12 187

原创 leetcode 652.寻找重复的子树 Java

寻找重复的子树题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/find-duplicate-subtrees/描述给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。两棵树重复是指它们具有相同的结构以及相同的结点值。示例 1 / \ 2 3 / / \ 4 2 4 / 4下面是两个重复的子

2020-10-25 20:44:31 427

原创 leetcode 106.从中序与后序遍历序列构造二叉树 Java

从中序与后续遍历序列构造二叉树题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/描述根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。示例中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3

2020-10-25 20:25:31 277

原创 leetcode 105.从前序与中序遍历序列构造二叉树 Java

从前序与中序遍历序列构造二叉树题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/描述根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。示例前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3

2020-10-25 20:06:02 376

原创 leetcode 654.最大二叉树 Java

最大二叉树题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/maximum-binary-tree/描述给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。提示:给定的数组的大小在 [1, 1000] 之间。示例输入:

2020-10-25 16:14:19 327

原创 leetcode 114.二叉树展开为链表 Java

二叉树展开为链表题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/描述给定一个二叉树,原地将它展开为一个单链表。示例给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \

2020-10-25 15:54:10 146

原创 leetcode 116.填充每个节点的下一个右侧节点指针 Java

填充每个节点的下一个右侧节点指针题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/描述给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指

2020-10-25 15:45:44 298

原创 leetcode 1024.视频拼接 Java

视频拼接题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/video-stitching/描述你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事。这些片段可能有所重叠,也可能长度不一。视频片段 clips[i] 都用区间进行表示:开始于 clips[i][0] 并于 clips[i][1] 结束。我们甚至可以对这些片段自由地再剪辑,例如片段 [0, 7] 可以剪切成 [0, 1] + [1, 3] + [3, 7] 三

2020-10-24 21:53:12 6998

原创 leetcode 剑指Offer 03.数组中重复的数字 Java

剑指Offer 03.数组中重复的数字题目链接描述示例初始代码模板代码哈希表原地置换题目链接描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。限制:2 <= n <= 100000示例输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 初始代码模板class Solution {

2020-10-23 23:06:05 243

原创 leetcode 234.回文链表 Java

回文链表题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/palindrome-linked-list/描述请判断一个链表是否为回文链表。进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?示例示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true初始代码模板/** * Definition for singly-linked li

2020-10-22 23:58:02 194

原创 leetcode 160.相交链表 Java

相交链表题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/intersection-of-two-linked-lists/描述编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。注意:如果两个链表没有交点,返回 null.在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。示例示例 1:输入:in

2020-10-22 23:19:09 169

原创 leetcode 面试题02.08.环路检测 Java

环路检测题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/linked-list-cycle-lcci/描述给定一个链表,如果它是有环链表,实现一个算法返回环路的开头节点。有环链表的定义:在链表中某个节点的next元素指向在它前面出现过的节点,则表明该链表存在环路。 进阶:你是否可以不用额外空间解决此题?示例示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node i

2020-10-22 22:59:29 329

原创 ArrayList 部分源码解析+方法测试 JDK11

动手检测一下,那些ArrayList的部分常用方法认识一下ArrayList构造方法版本:JDK 11可以直接看API帮助文档,可以从这里下:https://pan.baidu.com/s/1zZNRNprhz0RxGd5xbYcyxA提取码:y8e4方法描述ArrayList()构造一个初始容量为10的空列表。ArrayList​(int initialCapacity)构造具有指定初始容量的空列表。ArrayList​(Collection<? exte

2020-10-22 21:46:14 859

原创 leetcode 83.删除排序链表中的重复元素 Java

删除排序链表中的重复元素题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/描述给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3初始代码模板/** * Definiti

2020-10-21 22:11:36 162

原创 leetcode 1081.不同字符的最小子序列 Java

不同字符的最小子序列题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters/描述返回字符串 text 中按字典序排列最小的子序列,该子序列包含 text 中所有不同字符一次。提示:1 <= text.length <= 1000text 由小写英文字母组成 注意:本题目与 316 https://leetcode-cn.com/prob

2020-10-20 23:39:01 448

原创 leetcode 316.去除重复字母 Java

去除重复字母题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/remove-duplicate-letters/描述给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。注意:该题与 1081 https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters 相同提示

2020-10-20 23:25:38 558 1

原创 leetcode 380.常数时间插入、删除和获取随机元素 Java

常数时间插入、删除和获取随机元素题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/insert-delete-getrandom-o1/描述设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。insert(val):当元素 val 不存在时,向集合中插入该项。remove(val):元素 val 存在时,从集合中移除该项。getRandom:随机返回现有集合中的一项。每个元素应该有相同的概率被返回。示例// 初始

2020-10-19 23:28:13 192

原创 leetcode 877.石子游戏 Java

石子游戏题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/stone-game/描述亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。假设亚历克斯和李都发挥出最佳水平,当亚

2020-10-19 22:35:29 229

原创 leetcode 1143.最长公共子序列 Java

最长公共子序列题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/longest-common-subsequence/描述给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序

2020-10-19 20:28:55 195

原创 leetcode 312.戳气球 Java

戳气球题目链接描述实例初始代码模板代码题目链接https://leetcode-cn.com/problems/burst-balloons/描述有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。如果你戳破气球 i ,就可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left 和气球

2020-10-18 22:31:36 286

原创 面向对象的特征

面向对象的特征抽象封装继承多态抽象抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。封装封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。继承继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。多态多态性是指允许不同子类型的对象对同一消息做出不同的响应,也就是用同样的对象引用调用同样的方法但是做了不同的的事情。

2020-10-18 19:52:41 147 1

原创 Arrays工具类部分常用方法 Java

Arrays工具类部分常用方法部分方法源码及测试asList(T... a)binarySearch (int[] a, int key)copyOf(int[] original, int newLength)copyOfRange(int[] original, int from, int to)fill (int[] a, int val)mismatch(int[] a, int[] b)sort(int[] a)toString(int[] a)stream(int[] a)版本:JDK 11

2020-10-18 17:12:25 341

原创 leetcode 72.编辑距离 Java

编辑距离题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/edit-distance/描述给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例示例 1:输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为

2020-10-17 21:49:28 223 4

原创 leetcode 977.有序数组的平方 Java

有序数组的平方题目链接描述示例初始代码模板代码题目链接https://leetcode-cn.com/problems/squares-of-a-sorted-array/描述给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。提示:1 <= A.length <= 10000-10000 <= A[i] <= 10000A 已按非递减顺序排序。示例示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,

2020-10-16 20:02:05 205

空空如也

空空如也

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

TA关注的人

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