自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 fragment之间通过广播通信,一次广播重复接收消息的问题

解决将广播接收注册放在OnCreate中,确保只注册一次

2021-11-18 10:33:30 2472

原创 NavigationView 加载headerlayout

针对异常java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference解决在onCreate函数内val navigationView = findViewById<View>(R.id.nav_view_home) as Navigation

2021-11-07 09:46:39 1911

原创 Kotlin 解析json

背景{ "status": 1, "data": { "id": 52, "userName": "admin", "createTime": "2021-11-03 15:12:46", "updateTime": "2021-11-03 15:12:46" }, "msg": "登录成功"}针对这种嵌套数据解决封装对象import java.util.*class UserVo {

2021-11-03 20:48:40 1466 1

原创 kotlin-OKHttp网络异步请求后根据响应内容执行进一步操作

封装OKhttppackage com.lettytrain.notesapp.utilimport okhttp3.OkHttpClientimport okhttp3.Requestimport okhttp3.RequestBodyimport okhttp3.MediaType.Companion.toMediaTypeobject OKHttpUtils { //实现cookie持久化 val client = OkHttpClient().newBuilder

2021-11-03 20:43:15 766

原创 Kotlin解析json数据

背景kotlin,解析okhttp返回得数据方法class ResCode (public val obj:JsonObject){ var status:Int ?=-1 var msg:String ?=""} fun parseJsonWithJsonObject(response:Response){ result= response.body?.string().toString() var resCode=Gson().fromJs

2021-11-02 14:56:34 1546

原创 使用Theme.MaterialComponents.Light.NoActionBar主题后,布局的<Button>的背景色失效

*解决办法将改为 <android.widget.Button/>参考链接https://stackoverflow.com/questions/52743190/when-using-theme-materialcomponents-light-noactionbar-style-setting-button-back

2021-09-26 08:33:03 1442

原创 Add dependency providing the Main dispatcher, e.g. ‘kotlinx-coroutines-android‘ and ensure it has th

app级的build.gradle改成 //coroutine2 core implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.1' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1'

2021-09-22 19:20:48 291

原创 Android--Gradle DSL method not found: ‘kapt()‘

APP级的build.gradle文件中添加apply plugin: 'kotlin-kapt'

2021-09-19 14:37:04 126

原创 Android--ERROR: Failed to resolve: androidx.lifecycle:lifecycle-extentions:2.2.0

解决方案app级别下的build.gradle添加以下内容implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'annotationProcessor 'androidx.lifecycle:lifecycle-compiler:2.2.0'

2021-09-19 10:27:31 1756

原创 线程间互相调度-Java

功能模拟线程A的A方法调用线程B的B方法,线程B的B方法调用线程A的A方法package CSNOTES;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;import java.lang.Thread.*;import static java.lang.Thread.inter

2021-08-16 15:03:50 192

原创 Map按照value删除键值对-python, java实现

实现逻辑给定map和值n,删除map中值为value的键值对Javapackage sort_10_type.zulong;import java.util.Collection;import java.util.HashMap;import java.util.*;public class Main { //通过value移除hashmap中的键值对 public static HashMap<Integer,Integer> dropdatabyval

2021-08-02 15:51:49 505

原创 Leetcode 143. 重排链表

题目描述给定一个单链表 L 的头节点 head ,单链表 L 表示为:L0 → L1 → … → Ln-1 → Ln请将其重新排列后变为:L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reorder-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。Java/** * Defi

2021-07-21 08:22:20 196

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

题目描述从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其层次遍历结果:[[3],[9,20],[15,7]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof著作权归领扣网络所有。商业转载请联系官方授

2021-06-27 08:44:22 64

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

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

2021-06-27 08:12:00 66

原创 剑指 Offer 18. 删除链表的节点

题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-di

2021-06-26 10:18:06 70

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

题目描述给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gon

2021-06-26 08:38:03 72

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

题目描述给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof著作权归领扣网络所有。商业转载请联系官方

2021-06-26 08:21:14 61

原创 剑指 Offer 67. 把字符串转换成整数

题目描述写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。注意:假如该字符串中的

2021-06-26 07:49:40 100

原创 剑指 Offer 66. 构建乘积数组

题目描述给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24]提示:所有元素乘积之和不会溢出 32 位整数a.length <= 100000来源:力扣(LeetCode)链接:https://leetcode-cn.

2021-06-26 07:28:04 88

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

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。示例:输入: a = 1, b = 1输出: 2提示:a, b 均可能是负数或 0结果不会溢出 32 位整数Javaclass Solution { public int add(int a, int b) { //用二进制位运算 int sum=0; int carry=0; do{

2021-06-25 10:40:36 57

原创 剑指 Offer 63. 股票的最大利润

题目描述假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。限制:0 <= 数组长度

2021-06-25 10:15:22 37

原创 剑指 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来源:力扣(LeetCode)链接:https://leetcode-cn.

2021-06-25 09:34:08 38

原创 剑指 Offer 61. 扑克牌中的顺子

题目描述从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。Javacla

2021-06-25 08:59:50 41

原创 剑指 Offer 60. n个骰子的点数

题目描述把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。示例 1:输入: 1输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/nge-tou-zi-de-dian-shu-lcof

2021-06-25 08:44:58 36

原创 剑指 Offer 59 - II. 队列的最大值

题目描述请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入:[“MaxQueue”,“push_back”,“push_back”,“max_value”,“pop_front”,“max_value”][[],[1],[2],[],[],[]]输出: [null,null,null,2,1,2

2021-06-25 07:56:43 39

原创 剑指 Offer 59 - I. 滑动窗口的最大值

题目描述给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3 5] 3 6 7 51 3 -1 [-3 5 3

2021-06-24 09:17:41 38

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

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

2021-06-24 08:46:18 44

原创 剑指 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”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。来源:力扣(LeetCod

2021-06-24 08:31:11 34

原创 剑指 Offer 57 - II. 和为s的连续正数序列

题目描述输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/he-wei-sde-lian-xu-zheng-shu

2021-06-24 08:04:02 50

原创 剑指 Offer 57. 和为s的两个数字

题目描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10] 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problem

2021-06-24 07:46:09 55

原创 剑指 Offer 56 - II. 数组中数字出现的次数 II

题目描述在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1限制:1 <= nums.length <= 100001 <= nums[i] < 2^31来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-z

2021-06-24 07:37:22 39

原创 模式24.访问者模式-Java

表示一个作用于某对象结构中的个元素的操作。使得可以在不改变各元素的类的前提下定义作用于这些元素的新操作。1.定义表示一个作用于某对象结构中各个元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。2.基础代码这里使用访问者模式的前提是Element的子类稳定,比如人类只有男女两类,否则Visitor中的抽象方法就不再稳定了。(1)visitor类package designmode.visitor;public abstract class Visitor {.

2021-06-23 17:28:12 133 1

原创 剑指 Offer 56 - I. 数组中数字出现的次数

题目描述一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xia

2021-06-23 10:34:35 47

原创 剑指 Offer 55 - II. 平衡二叉树

题目描述输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7]3/ 9 20/ 15 7返回 true 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ping-heng-er-cha-shu-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。Java

2021-06-23 09:44:04 46

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

题目描述输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。提示:节点总数 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof著作权归领扣网络所有。商业转载

2021-06-23 09:10:58 51

原创 剑指 Offer 54. 二叉搜索树的第k大节点

题目描述给定一棵二叉搜索树,请找出其中第k大的节点。示例 1:输入: root = [3,1,4,null,2], k = 13/ 1 42输出: 4示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 35/ 3 6/ 2 4/1输出: 4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-l

2021-06-23 09:00:01 53

原创 剑指 Offer 53 - II. 0~n-1中缺失的数字

题目描述一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8限制:1 <= 数组长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof著作权

2021-06-23 08:21:40 47

原创 剑指 Offer 53 - I. 在排序数组中查找数字 I

题目描述统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0限制:0 <= 数组长度 <= 50000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof著作权归领扣

2021-06-22 08:28:48 50

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

题目描述输入两个链表,找出它们的第一个公共节点。输入: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,8,4,5]。在 A 中,相交节点前有 2 个节点

2021-06-22 07:54:52 64

原创 模式22.享元模式-Java

1.享元模式运用共享技术有效地支持大量细粒度的对象。2.基础代码(1)Flyweight类package designmode.flyweight;public abstract class Flyweight { public abstract void Operation(int extrinsicstate);}(2)ConcreteFlyweightpackage designmode.flyweight;public class ConcreteFlyweig

2021-06-21 15:34:15 60

空空如也

空空如也

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

TA关注的人

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