自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (7)
  • 收藏
  • 关注

原创 判断二叉树是否对称

left == null && right == null: trueleft != null && right != null:left.val == right.valisTree(left.left, right.right) && isTree(left.right, right.left)import java.util.*;/* * public class TreeNode { * int val = 0; * .

2020-10-07 09:57:02 150

原创 单调栈

单调栈单调栈的特点:栈中的元素保持单调递增或递减递增:入栈时把栈中比当前元素nums[i]小的元素都出栈,直到栈为空或者栈顶元素大于nums[i]递减:同理496. 下一个更大元素 I给你一个数组,返回一个等长的数组,对应索引存储着下一个更大元素,如果没有更大的元素,就存 -1。例子:给你一个数组 [2,1,2,4,3],你返回数组 [4,2,4,-1,-1]。 public int[] nextMax(int[] nums) { if(nums.length ==

2020-10-06 09:59:58 187

原创 回溯算法解决排列组合问题

解题框架步骤路径:也就是已经做出的选择选择列表:也就是你当前可以做的选择结束条件:也就是到达决策树底层,无法再做选择的条件框架代码result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择39. 组合总和题目给定一

2020-10-06 09:57:23 602

原创 二叉堆实现优先队列

最大堆:每个节点都大于等于它的两个子节点堆的操作:swim(k):上浮第k个元素sink(k):下沉第k个元素优先队列删除:delMax(最小堆delMin)插入:insert代码框架public class MaxPQ <Key extends Comparable<Key>> { // 存储元素的数组 private Key[] pq; // 当前 Priority Queue 中的元素个数 private int

2020-10-05 22:10:13 117

原创 二叉搜索树系列

1. 判断是否为二叉搜索树public boolean isBinaryTree(TreeNode root, TreeNode min, TreeNode max) { if(root == null) return true; if(min != null && root.val <= min.val) return false; if(max != null && root.val >= max.val) retur

2020-10-05 20:42:39 68

原创 单例模式的几种创建方式

单例模式创建方式饿汉方式:指全局的单例实例在类装载时构建懒汉方式:指全局的单例实例在第一次被使用时构建不管是那种创建方式,它们通常都存在下面几点相似处:单例类必须要有一个 private 访问级别的构造函数,只有这样,才能确保单例不会在系统中的其他代码内被实例化;instance 成员变量和 uniqueInstance 方法必须是 static 的。饿汉模式(线程安全)public class Singleton { //在静态初始化器中创建单例实例,这段代码保证了线程安全

2020-10-04 11:42:31 233 2

原创 剑指 Offer 06. 从尾到头打印链表

题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof解题思路方法一反转链表后输出到数组方法二使用递归:先递归到链表尾,然后添加到数组中,递归终止条件为head == null方法三使

2020-09-13 13:03:47 46

原创 剑指 Offer 05. 替换空格

题目请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof解题思路Java解法初始化一个StringBuilder为res遍历字符串s中的每个字符c如果c为空格:添加%20到res中如果c不为空格:添加

2020-09-13 08:46:06 96

原创 剑指 Offer 04. 二维数组中的查找

题目在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target = 5,返回

2020-09-12 21:05:53 49

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

剑指 Offer 03. 数组中重复的数字题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof解题思路题

2020-09-06 09:29:49 63

原创 剑指 Offer 45. 把数组排成最小的数

剑指 Offer 45. 把数组排成最小的数题目输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: "102"链接:https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof解题思路:此题求拼接起来的 “最小数字” ,本质上是一个排序问题。排序判断规则: 设 nums 任意两数字的字符串格式 x 和 y ,则

2020-09-05 00:47:40 92

原创 735. 行星碰撞

735. 行星碰撞题目给定一个整数数组 asteroids,表示在同一行的行星。对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。找出碰撞后剩下的所有行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两颗行星都会爆炸。两颗移动方向相同的行星,永远不会发生碰撞。示例 1:输入: asteroids = [5, 10, -5]输出: [5, 10]解释: 10 和 -5 碰撞后只剩下

2020-09-04 23:12:28 120

原创 剑指 Offer 65. 不用加减乘除做加法

剑指 Offer 65. 不用加减乘除做加法题目解题思路代码class Solution { public int add(int a, int b) { while(b != 0) { // 当进位为 0 时跳出 int c = (a & b) << 1; // c = 进位 a ^= b; // a = 非进位和 b = c; // b = 进位 }

2020-09-04 09:13:31 78

原创 打开转盘锁(LeetCode #752)

打开转盘锁(LeetCode #752)题目你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转:例如把 ‘9’ 变为 ‘0’,‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 ‘0000’ ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转

2020-09-03 23:10:57 163

原创 二分查找(LeetCode #704)

二分查找(LeetCode #704)解题思路基本的二分搜索搜索区间为[left, right],所以终止条件为left<=right为了防止溢出,使用mid = left + (right - left) / 2代码class Solution { public int search(int[] nums, int target) { int left = 0; int right = nums.length - 1;

2020-09-03 23:09:54 60

原创 二叉树的最小深度(LeetCode #111)

二叉树的最小深度(LeetCode #111)题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.链接:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree解题思路首先明确起点

2020-08-31 22:05:31 277

原创 全排列(LeetCode #43)

全排列(LeetCode #63)题目:给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]题目链接:https://leetcode-cn.com/problems/permutations解题思路关于排列组合的题目,我们采用穷举法,先固定第一位为 1,然后第二位可以是 2,那么第三位只能是 3;然后可以把第二位变成

2020-08-31 22:04:21 110

原创 计数二进制子串--LeetCode #696

计数二进制子串–LeetCode #696题目给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。注:重复出现的子串要计算它们出现的次数。示例 :输入: "10101"输出: 4解释: 有4个子串:“10”,“01”,“10”,“01”,它们具有相同数量的连续1和0。链接:https://leetcode-cn.com/problems/count-binary-substrings解题思路对于任意一个连续的0和

2020-08-12 04:46:27 84

原创 数组中重复的元素(剑指Offe.03)

数组中重复的元素(剑指Offe.03)题目描述:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。解题思路遍历数组,采用HashMap存储元素,如果HashMap中已经出现过该元素,则返回,时间复杂度O(N),空间复杂度O(N)遍历数组元素,交换数组中的元素,使得nums[i] = i,如果在交换时发现两个元素相等,则返回该重复的元素。算法原理遍历到

2020-08-12 04:44:17 126

原创 嵌入式系统

嵌入式系统学习总结嵌入式系统的理解嵌入式系统的历史嵌入式系统起源于20世纪70年代,它是硬件和软件交替发展的双螺旋式发展;早期的嵌入式系统以功能简单的单片机为核心,这种系统大部分应用于各类工业控制,这一阶段嵌入式系统的主要特点是系统结构和功能比较单一,处理效率比较低;随着微处理器的诞生,嵌入式系统得到了广泛的发展,这一时期出现了一些商用的嵌入式系统并得到了迅速发展,并且具备了高度的模块化和扩展性,具有大量的应用程序接口,嵌入式应用软件也变得丰富起来;随着微电子技术、IC设计和EDA工具的发展,基于So

2020-08-11 19:52:04 478

原创 动态规划

动态规划一、适用条件具有重叠子问题子问题是不独立的,并且在后续的计算中也可能会多次用到,子问题也能按照相同的方法分割为更小的子问题。满足最优子结构某阶段状态一旦确定,就不受这个状态以后决策的影响,即某状态以后的国产不会影响曾经的状态,仅仅于当前状态有关。无后效性每个子问题的决策不能对后面未解决的问题产生影响。二、动态规划的三大步骤第一步:定义数组元素的含义一般情况下使用一维数组或者二维数组保存数据,需要规定该数组代表的含义,比如dp[ i ]代表什么意思。第二步:找出数组元素之间的关系

2020-08-11 19:49:56 89

原创 数据库复习(六、关系数据模式)

数据库复习(六、关系数据模式)一、函数依赖1. 关系数据模式中的问题数据冗余**更新异常:**对冗余数据进行更新时,系统开销大,且存在数据不一致的风险插入异常删除异常2. 关系模式表示为一个五元组R(U,D,DOM,F)F:关系名称U:R中所有属性的集合D:U 中属性所来自的域的集合DOM:属性到域的映射F:U中属性间的数据依赖的集合重点关注:U和F,可简化为R(U, F)3. 函数依赖平凡函数依赖非平凡函数依赖完全函数依赖部分函数依赖传递

2020-08-11 19:48:09 474

原创 数据库复习(五、数据库完整性)

数据库复习(五、数据库完整性)1. 实体完整性在插入或对主码进行更新操作时:检查主码值是否唯一,如果不唯一则拒绝插入或修改检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改CREATE TABLE中用PRIMARY KEY定义2. 参照完整性在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码用REFERENCES短语指明这些外码参照哪些表的主码3. 违约处理4. 用户定义完整性分为属性上的约束:列值非空:NOT NULL列值唯一:UNIQU

2020-08-11 19:45:58 145

原创 数据库复习(四、数据库安全性)

数据库复习(四、数据库安全性)1. 数据库安全技术一、常用安全技术常用鉴别方法:口令:静态,动态生物特征识别智能卡回答问题存取控制:对于获得上机权的用户还要根据系统预先定义好的外模式(视图)或用户权限进行存取控制,保证用户只能存取他有权存取的数据。自主存取控制:C2级,灵活强制存取控制:B1级,严格视图机制:把需要保密的数据对无权存取这些数据的用户隐藏起来。审计:系统自动建立审计日志,将用户对数据库的所有操作记录在上面。数据加密:存储加密,传输加密。2. 自主存取控制技术一

2020-08-11 19:44:31 210

原创 数据库复习(三、关系数据库标准语言SQL)

数据库复习(三、关系数据库标准语言SQL)1. SQL语言概述一、SQL语言特点综合统一高度非过程化面向集合的操作方式同一种语法结构,多种使用方式SQL语言简洁,易学易用二、数据定义2. 基本表的修改和删除一、建立基本表二、修改基本表3. 数据查询一、数据查询语句二、基本查询**DISTINCT:**消除重复元组查询条件:**ORDER BY子句:**升序ASC,降序DESC三、聚集函数聚集函数只能用于SELECT子句和HAVING

2020-08-11 19:41:46 326

原创 数据库复习(二、关系数据库)

数据库复习(二、关系数据库)一、关系模型1. 关系数据结构候选码:关系中的一个属性组,其值能唯一标识一个元组。若从属性组中去掉任何一个属性,它就不具有这一性质了主码:若一个关系有多个候选码,则选定其中一个作为主码外码:关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外码2. 关系的完整性约束实体完整性:关系的主码的属性值不能为空参照完整性:如果关系R2的外码Fk与关系R1的主码Pk相对应,则R2中的每一个元组的Fk值或者等于R1 中某个元组的Pk值,或者

2020-07-13 10:49:19 575

原创 数据库复习(一)

数据库复习(一)1. 数据库基本概念数据库定义:数据库是长期存储在计算机中心,有组织的、可共享的大量数据的集合。一、数据库的基本特征:数据按一定的数据模型组织、描述和存储可为各种用户共享冗余度较小易扩展二、数据库管理系统:定义:位于用户和操作系统之间的一层数据库管理软件是基础软件,是一个大型复杂的软件系统主要功能:数据操纵功能数据库的事务管理和运行管理数据库的建立和维护功能三、数据库系统定义:在计算机系统中引入数据库后的系统构成:数据库数据库管理系统

2020-07-13 10:36:25 609

原创 递归总结

递归总结递归三大要素第一要素:明确这个函数想要干什么第二要素:寻找递归结束条件第三要素:找出函数的等价关系式案例1:斐波那契数列案例2:青蛙跳台阶案例3:反转单链表递归优化思路1、考虑是否重复计算2、考虑是否可以自底向上递归三大要素第一要素:明确这个函数想要干什么这个函数的功能是什么,不管代码怎么实现,先明确这个函数是用来干什么的。第二要素:寻找递归结束条件我们需要找出当参数为啥时,递归结束,然后返回结果。我们必须更具这个参数的值,能够知道函数的结果是什么。第三要素:找出函数的等价关系式我们要

2020-06-29 23:10:40 174

原创 经典排序算法

排序算法冒泡排序原始冒泡排序代码实现 public static void bubbleSort(int array[]) { for(int i = 0;i < array.length - 1;i++) { for(int j = 0;j < array.length - 1 - i;j++){ i...

2020-04-07 15:01:39 122

原创 非线性数据结构

非线性结构树树(tree)是n(n≥0)个节点的有限集。当n=0时,称为空树。在任意一个非空树中,有如下特点。有且仅有一个特定的称为根的节点。当n>1时,其余节点可分为m(m>0)个互不相交的有限集,每一个集合本身又是一个树,并称为根的子树。二叉树二叉树(binary tree)是树的一种特殊形式。这种树的每个节点最多有2个孩子节点。注意,这里是最多有2个,也可...

2020-04-07 14:55:22 1020

原创 线性数据结构

线性数据结构线性数据结构基础知识算法数据结构时间复杂度空间复杂度数组数组数组的基本操作数组优缺点链表链表链表的基本操作链表VS数组栈和队列物理结构和逻辑结构栈栈的基本操作队列队列的基本操作循环队列栈的应用队列的应用哈希表哈希函数Java中的HashMap哈希表的读写操作哈希表的扩容小结线性数据结构基础知识算法在计算机领域里,算法是一系列程序指令,用于处理特定的运算和逻辑问题数据结构...

2020-04-07 14:48:40 225

原创 c语言学习

数据类型常量和变量数值表示方法整型变量的分类字符常量字符串常量个数据类型的混合运算强制类型转换c语言左结合和右结合局部变量和全局变量预处理指针指针小结结构体枚举类型类型定义符位运算位域(位段)文件数据类型基本数据类型构造数据类型数组类型结构体类型联合类型指针类型(存储地址)空类型常量和变量常量和符号常量#define N 30整型常量...

2019-11-21 17:18:46 373

原创 http_load压力测试使用方法以及参数说明

http_load压力测试windows版使用方法及结果分析工具下载:https://pan.baidu.com/s/1gftN13H配置说明:解压后将cygwin1.dll 放置到 C:\Windows\system目录下,将http_load.exe 放置到 C: \Windows\System32目录下。进入cmd命令行,输入命令http_load显示相关说明则配置成功。使用方法...

2019-11-21 17:13:58 464 1

原创 计算机网络学习总结

计算机网络自顶向下学习总结第一章 计算机网络和因特网1 因特网主机端系统通信链路分组交换机2 协议TCP,IP,HTTP3 网络边缘主机通信模型C/SP2P接入网:将主机连接到边缘路由器3.1 接入方式3.1.1 modem点对点连接ISP的拨号池3.1.2 DSL上行/下行速率频分复用带宽独享3.1.4 HFC:光纤同轴电缆混合网络电缆分配网络光纤...

2019-11-21 16:57:25 501

原创 我的git入门

我的git入门创建git仓库进入目录查看目录命令把这个目录变成Git可以管理的仓库查看git工作状态和修改情况git版本回退工作区和暂存区删除文件git推送到远程仓库分支管理git分支合并出现冲突git暂存分支查看远程库出现的问题:创建git仓库mkdir 仓库名进入目录cd 目录名查看目录pwd命令把这个目录变成Git可以管理的仓库第一步,通过git init命令控制仓库...

2019-11-21 16:55:02 88

华中科技大学计算机网络课程实验3(基于CPT的组网实验).zip

华中科技大学计算机网络课程实验3(基于CPT的组网实验) 包含所有模块文件以及指导文件,亲测有效,有问题可以留言进行解决 下载后仅作参考,请勿抄袭和完全照搬,请勿用作商业用途。 如果对你有用,麻烦点个收藏,关注我的CSDN,会经常上传相关课程资源,还有相关技术博客。

2020-09-04

Java基础核心总结.pdf

Java核心基础知识总结,含思维导图,包含Java基本语法,面向对象,接口和抽象类,异常,内部类,集合,泛型,反射,枚举,I/O,注解等Java基础核心知识,总结全面,内容丰富,欢迎下载。 如果对你有用,麻烦点个收藏,关注我的CSDN,会经常上传相关资源,还有相关技术博客。

2020-09-04

ajax用户注册登录.zip

超级简单易用的使用ajax请求登录,注册模板,下载后无需改动,可以直接使用,界面简约清新,使用于各种网站的登录注册。

2019-11-21

php开发调查问卷系统.7z

一个非常完整的php开发的可以自定义表单的问卷调查系统,支持用户登录和管理员登录,自定义问卷表单,自定义问卷答案,可以选择多种题型,提交后可以查看相应答案,支持搜索问卷。

2019-11-21

华中科技大学四次数据结构实验源代码和exe文件.zip

华中科技大学四次数据结构实验,线性表,链表,二叉树,邻接表,包括程序源代码和exe可执行文件,下载后仅作参考,请勿完全照搬,另外请勿用作商业用途。

2019-11-21

漂亮的Pure图标包.zip

各种适配主流app的超好看的puer图标,非常适合做UI设计。app icon制作,iPhone图标,iPad图标制作... iPhone iPad app spotlight settings navigation tabbar

2019-11-21

华中科技大学——数字逻辑实验.zip

华中科技大学数字逻辑实验,总共包含所有学期实验,各种加法器和半加器,各种位宽的乘法器和除法器,可以显示时间,调节时间的电子钟,斐波那契数列。

2019-11-21

空空如也

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

TA关注的人

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