自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 07-重建二叉树

重建二叉树​ 题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。​ 示例前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]// 返回如下的二叉树 3 / \ 9 20 / \ 15 71:递归前序遍历:根节点->左子树->右子树;中序遍历:左子树->根节点->右子树即:前序遍历中第一个元

2020-06-30 23:15:13 91

原创 06-从尾到头打印链表

从尾到头打印链表​ 题目描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。​ 示例输入:head = [1,3,2]输出:[2,3,1]1:栈最终的返回结构是数组,考虑到栈为先进后出即:将链表先加入到栈中,后弹出栈中元素加入到返回的数组内/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; *

2020-06-30 23:14:22 102

原创 05-替换空格

替换空格​ 题目描述请实现一个函数,把字符串 s 中的每个空格替换成"%20"。​ 示例输入:s = "We are happy."输出:"We%20are%20happy."1:遍历遍历整个字符串,当遇到空格时替换为%20class Solution { public String replaceSpace(String s) { StringBuilder res = new StringBuilder(); int len = s.le

2020-06-30 23:13:34 89

原创 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]]给定 tar

2020-06-30 23:12:36 87

原创 03-数组中重复数字

数组中重复数字​ 题目描述在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。​ 示例输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 1:排序先将数组排序遍历数组,找到出现两次以上的元素class Solution { public int findRepeatNumber(int[] nums) { A

2020-06-30 23:11:46 104

原创 用两个栈实现队列

用两个栈实现队列​ 题目描述用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )​ 示例// 1输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]// 2输入:["CQueue","deleteH

2020-06-30 19:40:33 55

原创 数据链路层

数据链路层1:数据链路层基本概念结点:主机,路由器链路:网络中两个结点之间的物理通道,链路传输的介质主要有双绞线,微波。分为有线链路1和无线链路数据链路:网络中两个结点之间的逻辑通道,把实控制数据传输协议的硬件和软件加到链路上就构成数据链路帧:链路层的协议数据单元,封装网络层数据报2:数据链路层功能为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务链路管理,即连接的建立,维持,释放封装成帧流量控制差错控制3:封装成帧封装成帧就是在一段数据的前后部分分

2020-06-30 15:24:50 152

原创 缺失的第一个正数

缺失的第一个整数​ 题目描述给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。提示:算法时间复杂度为:O(n),空间复杂度为:O(1)​ 示例// 1输入: [1,2,0]输出: 3// 2输入: [3,4,-1,1]输出: 2// 3输入: [7,8,9,11,12]输出: 11:哈希表不考虑的时间复杂度与空间复杂度限制,可以先将数组中的元素存入哈希表中,然后从1开始枚举判断其是否在哈希表中。采用这种方法的原因:哈希表查找时的时间复杂度为O(1)。对

2020-06-28 11:04:11 83

原创 单词拆分

单词拆分​ 题目描述给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。​ 示例// 1输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。// 2输入: s = "applepen

2020-06-25 09:08:10 272

原创 String-StringBuffer-StringBuilder

String类为什么是不可变的?StringBuilder和StringBuffer的区别,字符串常量池,StringBuffer为什么线程安全?加号的底层原理?String类为什么是不可变的String不可变的原因包括 设计考虑,效率优化问题,以及安全性这三大方面。安全性:String被许多的Java类(库)用来当作参数,例如:网络连接地址URL,文件地址path…假若String不是固定不变的,将会引起各种安全隐患优化:Java中String对象的哈希码被频繁地使用, 比如在has

2020-06-25 09:07:33 93

原创 最长回文子串

最长回文子串​ 题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。​ 示例输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。输入: "cbbd"输出: "bb"1:回文串要做这个题,首先要了解什么是回文子串。回文子串:正读和反读都一样的字符串。比如:level,noon,bd就不是回文串2:暴力循环法既然题目中要找出一个字符串的最长回文子串。那么可以将问题划分为三个小问题:(1):找出该字符串

2020-06-23 22:34:02 77

原创 字符串解码

字符串解码​ 题目描述给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。​ 示例s = "3[a]2[bc]", 返回 "aaabcbc".s

2020-06-23 22:33:04 171

原创 子网划分详解与实例

1:基础知识1.1:ip地址常见ip地址分为3类:A类,B类,C类iP地址是由网段号(net_id)+主机号+(host_id)组成1.2:子网掩码要让子网划分方案管用,网络中的每台机器都必须知道主机地址的哪部分为子网地址,这是通过给每台机器分配子网掩码实现的子网掩码长度:32位,让IP分组的接收方能将IP地址的网路号与主机号区分开来网络管理员创建由1和0组成的32位子网掩码,其中的1表示lP地址的相应部分为网络地址或子网地址。并非所有网络都需要子网,即:网络可以使用默认的

2020-06-23 22:32:14 603

原创 寻找重复数

寻找重复数​ 题目说明给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。​ 示例示例1:输入: [1,3,4,2,2] 输出: 2示例2:输入: [3,1,3,4,2] 输出: 3​ 说明不能更改原数组(假设数组是只读的)。只能使用额外的 O(1) 的空间。时间复杂度小于 O(n^2) 。数组中只有一个重复的数字,但它可能不止重复出现一次。1:题意分

2020-06-23 22:31:05 211

原创 寻找两个正序数组的中位数

寻找两个正序数组的中位数​ 题目描述给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。​ 示例nums1 = [1, 3],nums2 = [2],则中位数是 2.0nums1 = [1, 2],nums2 = [3, 4],则中位数是 (2 + 3)/2 = 2.51:暴力解法也是归并排序的组合部分。这个时候

2020-06-23 22:30:20 4813

原创 微信小程序云函数绕过https和备案

微信小程序云函数demo地址在微信小程序中,只要牵扯到请求Api的问题,微信必要这些域名备案,https等等。但是有的国外的Api你又不能去备案,那么如何操作呢?使用云开发中转[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Of0MmaJS-1592922565323)(http://myblogoss.aimezhao.online/20200519203207.png)]实现步骤创建用于中转的云函数编写请求代码上传并部署云函数小程序端请求云函数

2020-06-23 22:29:33 5202

原创 物理层

物理层主要任务:确定与传输媒体接口有关的一些特性1:规定的特性机械特性:定义物理连接的特性,规定物理连接时所采用的规格,接口形状,引线数目,引脚数量和排列情况电气特性:规定传输二进制时,线路上信号的电压范围,阻抗匹配和距离限制等功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途规程特性:(过程特性)定义各条物理线路的工作规程和时序关系2:数据通信的相关术语通信的目的:传输消息(消息:语音,文字,图像,视频)数据data:传送信息的实体信号:数据的电气

2020-06-22 18:38:26 262

原创 计算机网络概述

计算机网络概述计算机网络是互联的,自治的计算机集合1:概念计算机网络是一个将分散的,具有独立功能的计算机通过通信设备与电路连接起来,由功能完善的软件实现资源共享和信息传递的系统。2:功能数据通信(连通信)资源共享(硬件,软件,数据)分布式处理(多台计算机各自承担同一工作的不同部分)提高可靠性负载均衡3:组成从不同角度来看计算机网络的组成组成部分:硬件,软件,协议工作方式边缘部分:用户直接使用核心部分:为边缘部分服务功能组成通信子网:实现数据通信资源子

2020-06-22 18:37:42 80

原创 子网划分详解与实例

1:基础知识1.1:ip地址常见ip地址分为3类:A类,B类,C类iP地址是由网段号(net_id)+主机号+(host_id)组成1.2:子网掩码要让子网划分方案管用,网络中的每台机器都必须知道主机地址的哪部分为子网地址,这是通过给每台机器分配子网掩码实现的子网掩码长度:32位,让IP分组的接收方能将IP地址的网路号与主机号区分开来网络管理员创建由1和0组成的32位子网掩码,其中的1表示lP地址的相应部分为网络地址或子网地址。并非所有网络都需要子网,即:网络可以使用默认的

2020-06-22 18:37:10 489

原创 基于SSM的商城平台设计与实现

1:关于团队之间如何进行合作开发Git&Github进行团队之间的合作Manage access: Repository的拥有者Owner 可以直接添加合作者到自己的仓库中, 让合作者拥有几乎等同拥有者的权限。Fork & Pull Request方式2:项目注意事项开发方面高内聚,低耦合。模块化开发为了解耦。注重业务逻辑的处理Api的设计:Restful重构原则:写且只写一次,多则重构。3:项目介绍1:技术选择Java版本:1.8数据库:MySQL

2020-06-22 18:36:29 2268 1

原创 工程师简历

工程师简历线上预览https://aimezhao.online/about/resume.html项目地址https://github.com/ammi3/resume项目截图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-69Ohpw4E-1592822096321)(https://supers1.oss-cn-hangzhou.aliyuncs.com/20200401090307.png)]本地预览1:确保本地已经安装了node.js/

2020-06-22 18:35:28 219

原创 SSM框架与SSH框架

SSM框架与SSH框架MVC,即模型(model)-视图(View)-控制器(Controller)的缩写,一种软件的设计典范,用一种业务逻辑,数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。SSM框架1:SSM框架的概念SSM框架是spring MVC, spring和mybatis框架的整合,标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层;使用spring MVC负

2020-06-22 18:34:45 721

原创 从0搭建个人博客

Hexo—yilia主题1:介绍下什么是HexoHexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页1.1:在安装Hexo之前—我们需要检查电脑里面是否已经安装了Node.js—https://nodejs.org/en/download/Git—https://git-scm.com/1.2:安装Node.js就选取对应的版本,默认配置就可以然后打开Node.js command prompt.

2020-06-22 18:33:52 169

原创 Sprite-Kit小游戏开发实战

FlyBird项目地址:https://github.com/ammi3/demoCollection/tree/master/swift/FlappyBird1:物体的添加1.1:游戏的状态​ 游戏分为三个状态:初始化,游戏中,结束。enum GameStatus { case idle //初始化 case running //游戏运行中 case over //游戏结束}1.2:添加节点​ 页面刚加载的时候是初始化状态,需要想页面中添加Bird节点和

2020-06-22 18:33:06 315

原创 Sprite-Kit小游戏-Bamboo-Breakout

Bamboo项目地址:项目地址1:游戏状态​ 我们先设这个游戏有三种状态游戏初始化:WaitingForTip游戏进行时:Playing游戏结束:GameOver2:添加物体2.1:添加小球​ 在GameScene.sks中拖拽一个Color Sprite到场景中,命名为ball2.2:添加木板​ 在GameScene.sks中拖拽一个Color Sprite到场景中,命名为paddle,并设置属性2.3:移动木板移动木板需要检测触摸,所以我们可以通过touch回调方法来

2020-06-22 18:32:24 298

原创 SpringMVC基础

SpringMVC一:1:SpringMvc基本步骤​ 配置web.xml文件创建springMVC-servlet.xml并配置—主要配置以下内容<!--开启注解--><mvc:annotation-driven/><!--扫描--><context:component-scan base-package="com.shiro.test.mvc.controller"> <context:include-filter

2020-06-22 18:31:53 74

原创 springboot整合swagger

1:SwaggerSwagger 是一套基于 OpenAPI 规范构建的开源工具,可以帮助我们设计、构建、记录以及使用 Rest API。Swagger 主要包含了以下三个部分:Swagger Editor:基于浏览器的编辑器,我们可以使用它编写我们 OpenAPI 规范。Swagger UI:它会将我们编写的 OpenAPI 规范呈现为交互式的 API 文档,后文我将使用浏览器来查看并且操作我们的 Rest API。Swagger Codegen:它可以通过为 OpenAPI(以前称为 Swag

2020-06-22 18:31:19 111

原创 Shiro小结

Shiro一:Shiro基础知识学习Shiro之前需要了解的知识:权限管理1:什么是权限管理?只要有用户管理参与的系统一般都需要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。对权限的管理分为两大类别:用户认证用户授权1.1:用户认证用户认证,用户去访问系统,系统要验证用户身份的合法性最常用的用户身份验证的方法:1、用户名密码方式、2、指纹打卡机、3、基于证书验证方法。。系统验证用户身份合法,用户方可访问系统的资源

2020-06-22 18:30:55 396

原创 Python实现群发邮件

使用python实现群发邮件实现群发邮件的功能需要用到python里面的smtplib这个库smtplib是关于 SMTP(简单邮件传输协议)的操作模块,在发送邮件的过程中起到服务器之间互相通信的作用。实现这个功能主要分为3个方面1:设置服务器端的信息2:发送的内容3:登录发送一:这里使用网易的邮箱作为发送的邮箱(1):我们首先要把网易邮箱的SMTP服务开启下面是配置服务器端的信息import smtplibfrom email.mime.text import MIMEText

2020-06-22 18:30:18 1860

原创 Nodejs搭建微信小程序后台获取openid等信息

使用express搭建node框架,使用的是ejs模板前端只是一个http请求,后端只需要响应前端的请求即可,然后将响应的结果返回前端。一:Node的express工作1:安装Node.js环境2:安装expressnpm install express -gnpm install express-generator -g3:创建express项目并且初始化cmd进入你要创建的express文件目录下md expressdemocd expressdemoexpress test

2020-06-22 18:27:48 2560 1

原创 Mysql基础

1:Mysql的安装安装Mysqlsudo apt-get install mysql-serversudo apt install mysql-clientsudo apt install libmysqlclient-dev测试安装是否成功sudo netstat -tap | grep mysql设置mysql允许远程访问sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf注释掉bind-adress,保存退出进入mysql

2020-06-22 18:27:12 60

原创 LRU缓存机制

LRU缓存机制​ 题目描述运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥已经存在,则变更其数据值;如果密钥不存在,则插入该组「密钥/数据值」。当缓存容量达到上限时,它应该在写入新数据之前删除最久未使用的数据值,从而为新的数据值留出空间。进

2020-06-21 18:54:41 174

原创 Linux基础

Linux一:Linux的目录结构bin:存放二进制可执行文件boot:存放系统引导时使用的各种文件etc:存放各种配置文件usr:存放系统应用程序,/usr/local本地管理员软件安装目录var:存放运行时需要改变的数据文件二:Linux的命令1:Linux的基本命令ifconfig:查看本地ip地址ls:显示文件和目录mkdir:创建目录touch:生成一个空文件cat:显示文本文件内容cp:复制文件或目录rm:删除文件mv:移动文件或目录ln:建立软连接(

2020-06-21 18:53:54 76

原创 leetcode刷题顺序

Hash相关两数之和链表操作2:两数相加19:删除链表的倒数第N个节点61:旋转链表138:复制带随机指针的链表206:反转链表双指针/滑动窗口3:无重复字符的最长字串11:盛水最多的容器15:三数之和16:最接近的三数之和26:删除排序数组中的重复项42:接雨水121:买卖股票的最佳时机209:长度最小的子数组快慢指针遍历141:环形链表202:快乐数876:链表的中间结点区间合并56:区间合并字符串操作6:z字形变换14:最长公共子

2020-06-21 18:53:26 277

原创 leetcode数组

LeetCode与数组前两周时间,我在leetcode上刷了二三十道数组题目,今天准备趁热打铁,来写一点关于数组方面的小结。1:数组数组是一种数据结构,用来存放同一类型值的集合,通过整型下标可以访问数组中的每一个值1.1:声明与初始化// 声明int[] a;//常用int a[];//初始化int[] nums = new int[100];//创建一个可以存储100个整数的数组1.2:常用语句在刷题的过程中,只要牵扯到数组;肯定要用到以下的语句循环for(int

2020-06-21 18:52:50 239

原创 Leetcode三-四-数之和总结

这几天刷Leetcode的时候,碰到了这几道题第15题:三数之和;第16题:最接近的三数之和;第18题:四数之和这三道题的思想都一样:排序+指针,唯一不同的是:对于不同的题目,指针的数量不同1:第15题—三数之和​ 题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。给定数组 nums = [-1, 0, 1, 2, -1, -4.

2020-06-21 18:51:49 78

原创 Java集合

Java集合一:接口继承关系和实现集合类存放在Java.util包中,主要有:set(集),list(列表)和map(映射)Collection:Collection是集合List,Set,Queue的最基本的接口Iterator:迭代器,可以通过迭代器遍历集合中的数据Map:是映射表的基本结构1:List(有序的Collection)Java中List提供了三个实现类:ArrayList,Vector,LinkedList(1):ArrayListArrayList是最常用的Lis

2020-06-21 18:51:00 94

原创 JavaScript按值传递的思考

在看这段代码的时候,一致无法明白,最终输出的person.name为什么是Nicholasfunction setName(obj) { obj.name = "Nicholas"; obj = new Object(); obj.name = "Greg"; }var person = new Object();setName(person);alert(person.name); // "Nicholas"在《JavaScript高级程序设计》第三版 4.1.3,讲到传递.

2020-06-21 18:50:11 117

原创 Java-HashMap

1:HashMap的基本原理,内部数据结构,put操作的整体流程,是否线程安全以及为什么?jdk8对hashmap做了哪些优化?HashMap默认长度是16,并且每次自动扩展或手动初始化时,长度必须是2的幂次方。HashMap的基本原理通过hash的方法,通过put和get存储和获取对象。存储对象时,我们将K/V传给put方法时,它调用hashCode计算hash从而得到bucket位置,进一步存储,HashMap会根据当前bucket的占用情况自动调整容量(超过Load Facotr则res

2020-06-21 18:49:45 83

原创 Hibernate小结

Hibernate一:Hibernate的流程1:HIbernate自动模式—插件1.1:先再Idea右侧添加数据库1.2:配置好数据库连接信息后进行测试1.2.1:如果测试失败的情况,需要手动添加MySql的连接证书,MySql连接的驱动最新版本的名字为:com.mysql.cj.jdbc.Driver1.3:数据库配置完成,测试连接成功后,需要为project添加hibernate支持。1.4:选择hibernate,勾选impoert database schema,如

2020-06-21 18:48:25 175

DataStruct_Cpp.zip

严蔚敏数据结构第2,3,4,5,6章代码实现。C++

2021-02-03

ELinkList.cpp

严蔚敏数据结构ELinkList

2021-02-03

DuLinkList.cpp

严蔚敏数据结构DuLinkList

2021-02-03

空空如也

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

TA关注的人

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