自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (1)
  • 收藏
  • 关注

原创 单例模式

单例模式定义一个类只有一个实例原理1、类的构造方法私有2、只暴露一个用来获取唯一类实例的公有静态方法实现方式1、饿汉模式特点:一开始就在类内部生成实例,用起来速度快,如果不用则浪费资源public class Singleton{ private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance(){ return in

2021-01-27 21:39:11 221

原创 Android Studio 新建项目的时候AppCompatActivity变红

问题解决方案降低ext.kotlin_version的版本之后就可以正常运行了

2021-01-26 17:32:36 2086

原创 剑指 Offer 58 - I. 翻转单词顺序

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. “,则输出"student. a am I”。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: “a good

2021-01-19 15:14:22 178

原创 青蛙跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-

2021-01-15 18:53:45 157

原创 剑指 Offer 58 - II. 左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = “abcdefg”, k = 2输出: “cdefgab”示例 2:输入: s = “lrloseumgh”, k = 6输出: “umghlrlose”限制:1 <= k < s.length <= 10000来源:力扣(LeetCode)链接

2021-01-14 17:58:20 107

原创 剑指 Offer 31. 栈的压入、弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3), push(4)

2021-01-13 10:33:57 91

原创 剑指 Offer 62. 圆圈中最后剩下的数字

0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 2限制:1 <= n <= 10^51 <= m <= 10^6来源:力扣(LeetCode)链

2021-01-11 14:35:51 102

原创 剑指 Offer 12. 矩阵中的路径

请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。[[“a”,“b”,“c”,“e”],[“s”,“f”,“c”,“s”],[“a”,“d”,“e”,“e”]]但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格

2021-01-07 14:44:32 89

原创 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shu

2021-01-06 16:05:16 111

原创 Android BLE(蓝牙低功耗)总结与实践

蓝牙低功耗简介Android 4.3(API 级别 18)为发挥核心作用的蓝牙低功耗 (BLE) 引入内置平台支持,并提供相应 API,方便应用发现设备、查询服务和传输信息。常见用例包括:在临近设备间传输少量数据。与 Google Beacons 等近程传感器交互,以便为用户提供基于其当前位置的自定义体验。关键概念通用属性配置文件 (GATT) — GATT 配置文件是一种通用规范,内容针对在 BLE 链路上发送和接收称为“属性”的简短数据片段。目前所有低功耗应用配置文件均以 GATT 为基础

2021-01-05 15:43:08 465

原创 剑指 Offer 68 - II. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5 和节点 1

2021-01-05 10:05:59 109

原创 Connect to 127.0.0.1:8888 [/127.0.0.1] failed: Connection refused (Connection refused)

问题Android studio编译时候报错:Connect to 127.0.0.1:8888 [/127.0.0.1] failed: Connection refused (Connection refused)解决方案之后重启,等加载结束就可以了

2020-12-29 14:56:57 6792

原创 剑指 Offer 64. 求1+2+…+n

求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qiu-12n-lcof思路1、递归代码class Solution { public int sumNums

2020-12-29 10:13:52 89

原创 剑指 Offer 30. 包含min函数的栈

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); --> 返回 -3.minStack.pop();minStack.top(); --> 返回 0.min

2020-12-29 10:07:24 137

原创 剑指 Offer 48. 最长不含重复字符的子字符串

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。提

2020-12-28 22:12:49 99

原创 剑指 Offer 55 - I. 二叉树的深度

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof思路1、递归遍历左右子树取最大值;2、深度为最大值+1;代码/** * Definition for a binar

2020-12-28 17:00:08 95

原创 剑指 Offer 32 - II. 从上到下打印二叉树 II

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7],返回其层次遍历结果:提示:节点总数 <= 1000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof思路1、建立一个队列和数组;2、队列具有先进先出的特性,把根节点放入;3、构建一个临时数组,根据

2020-12-26 10:34:27 91

原创 剑指 Offer 32 - I. 从上到下打印二叉树

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7],返回:提示:节点总数 <= 1000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof思路1、建立一个队列和数组;2、队列具有先进先出的特性,把根节点放入;3、从队列中取出一个节点(根节点),把它的值放入数组中

2020-12-26 10:05:15 91

原创 剑指 Offer 39. 数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2限制:1 <= 数组长度 <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof思路用HashMa

2020-12-25 11:08:26 86

原创 剑指 Offer 44. 数字序列中某一位的数字

数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。示例 1:输入:n = 3输出:3示例 2:输入:n = 11输出:0限制:0 <= n < 2^31来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zi-xu-lie-zhong-mou-yi-wei-de-shu

2020-12-25 10:56:12 76

原创 剑指 Offer 42. 连续子数组的最大和

题目输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian

2020-12-24 13:35:44 81

原创 剑指 Offer 14- I. 剪绳子

给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 3

2020-12-24 11:44:05 64

原创 剑指 Offer 17. 打印从1到最大的n位数

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]说明:用返回一个整数列表来代替打印n 为正整数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof题解:class Solution { public

2020-12-23 11:08:35 52

原创 剑指 Offer 52. 两个链表的第一个公共节点

输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1

2020-12-23 10:48:16 74

原创 Android 自定义View

Android 自定义View思路1、新建CircleView.java文件,编写view的界面,在layout里面的布局引入所写的view界面,引入方式为标签名设置成CircleView.java的所处的位置(即包名+类名)。2、之后由于是用xml定义,那么会调用第二个构造函数。构造函数中attrs属性,会获取layout中activity_main.xml中com.sunnyweather.definedview.CircleView里面属性,比如android:layout_width=“mat

2020-06-18 16:34:05 140

原创 Android 权限申请(拨打电话)

Android 权限申请(拨打电话)MainActivityclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) Phone.setOnClickListener

2020-06-16 09:57:34 965

原创 Android ViewPager实现

Android ViewPager实现MainActivityclass MainActivity : AppCompatActivity() { private val viewList = ArrayList<View>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.la

2020-06-15 17:15:10 248

原创 Android启动模式

Android启动模式Android使用栈来管理Activity。Android的 启动模式共4种分别为standard、singleTop、singleTask、singleInstance。standard假如Firstactivity在栈顶,此时如果继续构建Firstactivity,还会继续构建FirstactivitysingleTop如果Firstactivity如果在栈顶,则不会继续构建Firstactivity,如果此时Secondactivity在栈顶,如果继续构建First

2020-06-15 14:58:20 171

原创 Android通知Notification

Android通知NotificationMainActivitypackage com.sunnyweather.notificationimport android.app.NotificationChannelimport android.app.NotificationManagerimport android.app.PendingIntentimport android.content.Contextimport android.content.Intentimport and

2020-06-15 11:27:19 190

原创 关于element框架中rules中validator中undefined问题

问题代码分析其实在element-ui框架中,这里rules中的checkPassword里面的validator的this指向windows而不是Vue,而form指向Vue,所以获取不到form,因此我们可以把validator后面代码整合到Vue的地方,然后在Vue的地方this指向就是指向Vue,也就可以获得this.form.renewpwd解决...

2020-05-16 21:49:21 2464

原创 持续化部署工具 Jenkins

持续化部署工具 jenkins(1)手动打包运行过程(2)使用jenkins实现完整过程Jenkins(手动打包)1、创建普通SpringBoot工程2、把工程进行打包,运行(1)把项目打包,因为SpringBoot工程,通过main方法执行,打包变成jar包形式,使用maven进行打包操作前提条件:安装好maven,配置环境变量进入到项目目录中,使用maven命令: mvn...

2020-04-29 21:11:53 3238

原创 Git项目上传教程(码云)

Git项目上传(码云)1、提交过程2、使用Git远程仓库使用码云第一步 进入码云官方网站,注册用户https://gitee.com/第二步 创建远程仓库,点击右上角的 + 号进行创建看到创建成功的仓库Git仓库(提交代码)1、准备工作:安装git(1)在idea配置git环境2、创建本地git仓库(1)选择创建本地git仓库(2)选择当前项目目录作为本地git...

2020-04-29 20:54:19 263

原创 Hystrix

一、Hystrix基本概念1、Spring Cloud调用接口过程Spring Cloud 在接口调用上,大致会经过如下几个组件配合:Feign ----->Hystrix —>Ribbon —>Http Client(apache http components 或者 Okhttp) 具体交互流程上,如下图所示:(1)接口化请求调用当调用被@FeignClient注解...

2020-04-14 00:55:24 299

原创 服务调用Feign

一、Feign1、基本概念Feign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。Spring Cloud对Feign进行了增强,使Feign支持了Spring MVC注解,并整合了Ribbon和Eureka,从而让Feign的使用更加方便。Spri...

2020-04-14 00:50:34 714

原创 搭建Nacos服务

一、Nacos1、基本概念(1)Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应...

2020-04-14 00:45:46 665

原创 SpringCloud相关概念介绍

一、什么是微服务1、微服务的由来微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。...

2020-04-14 00:35:54 233

原创 springboot后端数据写入数据库变问号

Springboot做的项目,后端向数据库中写入汉字,变成了问号,数据库使用的utf8编码检查application.properties配置原先spring.datasource.url=jdbc:mysql://localhost:3306/alin?serverTimezone=GMT%2B8添加修改为spring.datasource.url=jdbc:mysql://loca...

2020-04-07 08:38:51 859 1

原创 EasyExcel配置及使用

EasyExcel一、Excel导入导出的应用场景1、数据导入:减轻录入工作量2、数据导出:统计信息归档3、数据传输:异构系统之间数据传输二、EasyExcel简介1、EasyExcel特点Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者J...

2020-04-07 00:24:09 5793 1

原创 Webpack安装与使用

Webpack一、什么是WebpackWebpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。从图中我们可以看出,Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求。二、Webpack安装1、全局安装npm install -g webpack webpack-cli...

2020-04-05 22:23:37 384

原创 Javascript模块化

Javascript模块化一、模块化简介1、模块化产生的背景随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。但是,Javascript不是一种模块化编程语言,它不支持"类"(class),包(package)等...

2020-04-05 22:17:58 243

algorithm.zip

数据结构是计算机专业的专业基础课程,该文档属于代码类型,记录了数据结构和常用的算法,并包含了充分的注释。

2020-04-06

空空如也

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

TA关注的人

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