自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安卓Service实现通知栏音乐播放器,切换歌曲,类似QQ音乐

引言:这样的一个音乐播放器,用到了安卓四大组件的其中三个,等于说是一个比较综合性的小功能。实现方法其实有很多,我这里给出自己的方法,不喜勿喷。需求分析1.音乐播放器,那我们需要一个帮助类,来构建单例音乐播放器对象:package com.example.jackandrose.entities;import android.content.Context;import android...

2020-02-16 10:11:59 8210 7

原创 【Android Studio】- 问题记录:Could not get resoure:..XXX..gradle.pom.Received status code 400 from server

解决了Android Studio因为代理设置导致编译不通过的问题

2023-01-11 16:37:49 981 3

原创 【力扣】- 在排序数组中查找元素的第一个和最后一个位置

leetcode第34题题解

2023-01-09 14:31:30 326 1

原创 【Android】APT

本文介绍了Android中的一种技术:APT

2023-01-01 23:15:24 628

原创 【Android打包】- MAC系统AS打包出现错误:Kotlin could not find the required JDK tools in the Java installation

解决Android Studio通过./gradlew命令打包出现“Kotlin could not find the required JDK tools in the Java installation”的问题

2022-10-19 15:49:55 1172 1

原创 【Android抓包】- Stetho

有些app因为项目中网络框架的原因,可能无法通过fidder进行抓包。可以尝试使用Stetho进行抓包,此文章帮助解决可能遇到的问题。

2022-08-25 17:51:06 595

原创 【Android】- Glide展示网络图片,图片不更新

问题描述:使用Glide加载url中的网络图片,url下的图片已经更新,但是加载出来的图片仍是未更新前的图片。 Glide .with(context) .load(url) .into(target)原因:Glide加载图片前会去读取缓存,缓存以<K,V>的方式保存url和图片文件。因此,只要url没有改变,默认情况下Glide就会从缓存中读取这个图片。解决方法:1.跳过缓存 G

2022-05-17 17:25:11 1031 3

原创 【springboot】- 导入第三方maven库时出现Cannot Resolve的解决办法

引言:在引入xinge推送时,添加了如下maven之后 <dependency> <groupId>com.github.xingePush</groupId> <artifactId>xinge</artifactId> <version>1.2.4</version> </dependency>引入它之后,导致整个pom中的所有依赖都不能正常引入,删掉后恢复正常。怀疑是网络原因

2022-05-05 20:41:13 3052

原创 【springboot】- 连接远程服务器数据库的步骤以及第一次连接就Communications link failure可能的原因

spingboot连接远程数据库(Mysql5.7)的步骤,以及Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.问题的解决

2022-01-08 14:06:37 5915 5

原创 【力扣】- 有效完全平方数

题目:367. 有效的完全平方数给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。进阶:不要 使用任何内置的库函数,如 sqrt 。示例 1:输入:num = 16输出:true示例 2:输入:num = 14输出:false提示:1 <= num <= 2^31 - 1题目链接说明:即找有没有一个数的平方等于当前这个数,暴力循环去找则超时,选择二分去找。左端点为1,右端点为num。代码:cla

2021-11-04 10:54:07 99

原创 【力扣】- 接雨水

题目:题目链接说明:题解代码:class Solution { public int trap(int[] height) { int left = 0; int right = height.length - 1; int leftMax = 0,rightMax = 0; int ans = 0; while (left < right) { leftMax = Math.

2021-11-03 19:43:56 249

原创 【力扣】- 加一

题目:66. 加一给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]提示:1 &

2021-10-22 10:39:48 161

原创 【力扣】- 无重复字符的最长子串

题目:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一

2021-09-14 10:01:21 107

原创 【力扣】- 二进制中1的个数

题目:剑指 Offer 15. 二进制中1的个数编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用 二进制补码 记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -

2021-08-26 13:36:31 116

原创 【力扣】- 两数相加

题目:题目链接解法:从左到右依次去节点相加就好了,遇到进位将进位置1。我这里将短链表的值直接加到长链表上,需要注意的是,若存在最后一次加法还使得进位为1,那么需要新建一个节点连在尾部,值为1。代码:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val

2021-05-24 11:31:11 117 4

原创 【力扣】- 二叉树层平均值(层序遍历)

题目:题目链接做法:广度优先搜索进行层序遍历,问题点在于每次只求解当前这一层的节点的平均值。由于队列的特性为先进先出,加一个循环,循环当前队列的大小次并将这些元素出列:例如根节点循环一次即这一层的所有节点,循环一次,将它出列,将它的子节点入列。遍历每一层,求出平均值即可。代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; *

2021-03-30 21:13:51 195

原创 【力扣】- 重建二叉树

题目:题目链接解法:对于先序序列,第一个节点为根节点。对应中序序列中该节点的位置,则左边为左子树,右边为右子树。对于左子树和右子树重复上面的过程,即一个递归的过程。这里先将中序序列中每个节点对应的下标存在HashMap中方便查找。图解:以第一个节点为例,我们代码:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * T

2021-03-17 18:26:33 249 3

原创 【力扣】- 最长回文串

题目:5. 最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成解法:这里采用中心扩展法,考虑边界条件,最短的回文子串可以由1到2

2021-03-12 17:16:39 109

原创 【java字符串相关的函数】- 切割,翻转,指定位置插入,替换部分串

切割:得到一个从a开始到a+b-1结束的字符串:String s=str.substring(a,a+b);按字符切割字符串,比如按逗号切割,得到一个数组:String x="a,b,c";String[] ch=x.split(",");翻转:需要使用StringBuilder类进行翻转:String r=new StringBuilder(s).reverse().toString();指定位置插入一个字符串:同样需要使用StringBuilder类进行插入,第一个参数为插在哪

2021-03-07 10:35:56 171

原创 【字节跳动2018校招Android方向(第四批)】- 编程题2

题目:输入例子1:8 1aabaabaa输出例子1:5例子说明1:把第一个 ‘b’ 或者第二个 ‘b’ 置成 ‘a’,可得到长度为 5 的全 ‘a’ 子串。解法:分别求仅替换a或者b能得到的最长的区间,再求最大值。例如,对于替换a,我们遇到b时,进行一次替换,并且记录当前b的位置(这里我们记录所有b的位置),当替换次数小于等于m时,更新区间长度,当替换次数大于m时,取出一个b的位置(即上一个b的位置,我们这里用t记录),区间左端点移到这个位置,再去更新最值即可。代码:import j

2021-03-06 16:01:30 134 1

原创 【力扣】- 剑指 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,返回 true。给

2021-03-05 15:23:33 97

原创 【力扣】- 四数之和

题目:18. 四数之和给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例 1:输入:nums = [1,0,-1,0,-2,2], target = 0输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]示例 2:输入:nums = [], target =

2021-03-04 22:04:14 156 1

原创 【字节跳动2018校招Android方向(第二批)】- 用户喜好

题目:输入例子1:51 2 3 3 531 2 12 4 53 5 3输出例子1:102例子说明1:样例解释:有5个用户,喜好值为分别为1、2、3、3、5,第一组询问对于标号[1,2]的用户喜好值为1的用户的个数是1第二组询问对于标号[2,4]的用户喜好值为5的用户的个数是0第三组询问对于标号[3,5]的用户喜好值为3的用户的个数是2解法:首先,我尝试了每次询问都去记录一下区间中k的个数,很明显会超时。正确做法应该是,记录下来每个喜好值对应的下标有哪些。然后根据k值获

2021-03-04 16:42:30 117 1

原创 【模板设计模式】- 模板设计模式

说明:模板设计模式就是,父类写好模板,具体算法实现部分交给子类来实现,根据不同的需求,采用不同的实现。举例:这里我们以榨水果汁为例,将它分为三部,打开榨汁机、榨汁、关闭榨汁机。其中榨汁这一部分对于不同的水果有所不同,所以我们可以采用模板设计模式将开关机器写成固定的模板。父类:package lqs;abstract public class Squeeze { public void squeeze() { openMachine(); squeezeFruit(); close

2021-02-22 21:32:43 124

原创 【java反射】- 实现一个可以修改任意对象任意属性值的方法

反射:Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。说明:简单一点来看,就是通过字节码对象(Class类的对象),可以直接使用修改它的所有字段,不论私有公有,并且可以调用它的所有方法。我们举一个例子,实现一个可以修改任意对象任意字段值的方法。实现:工具类:p

2021-02-21 13:12:12 1560 9

原创 【网易2020校招笔试- Android 开发工程师(正式批)】- 跳柱子

题目:输入例子1:15 36 2 4 3 8输出例子1:YES输入例子2:15 21 8 2 3 4输出例子2:NO说明:贪心思想,每次选择小于当前高度的最大高度作为下一步,若没有小于当前高度的且还未使用超能力,则使用一次超能力,选择最大高度作为下一步。代码:#include<bits/stdc++.h>#define int long longusing namespace std;const int maxn=1e5+5;signed main(){

2021-02-19 16:03:25 107 1

原创 【网易2020校招笔试- Android 开发工程师(正式批)】- 圆环切割

题目:输入例子1:161 2 3 4 5 6输出例子1:NO输入例子2:144 4 5 3输出例子2:YES说明:若答案序列是由前面部分数字加上后面部分数字构成,那么等价于中间存在一段连续序列。若答案序列是前面的某一段,那么等价于后面的某一段。即s1=s2,也就是说,我们只需要考虑前面或者中间是否存在一段连续序列使得和恰好为总序列和的二分之一即可。代码:#include<bits/stdc++.h>#define int long longusing na

2021-02-17 19:24:42 113

原创 【网易2020校招笔试- Android 开发工程师】- 积木

题目:输入例子1:15 32 2 3 3 1输出例子1:YES输入例子2:15 20 0 1 2 1输出例子2:NO说明:起初,我理解错了题意,以为只能一次拿一个,放一个。后来发现,题意相当是,你从第一堆积木开始,每次可以执行三种操作,即走,拿,放。而若选择走,则不能返回上一堆进行拿放操作,若选择拿放可以一直拿放直到想走了为止。做法:那么,保持序列是一个严格递增的序列,即最优的序列一定是0,1,2,3,4,5,6,…这样的。只要最后能满足此序列,就代表可以完成任务。即第一堆

2021-02-17 16:26:05 327

原创 【工厂设计模式】- 简单工厂模式&工厂方法模式&抽象工厂模式

简单工厂模式:建立一个工厂类,对某一个接口的实现类,或这某一父类的子类创建实例。基类:Animal.javapackage entity;public class Animal { public void eat() { System.out.println("吃"); }}子类: Cat.javapackage entity;public class Cat extends Animal{ public void eat() { System.out.println(

2021-02-17 10:24:20 162 1

原创 【2021届阅文Android方向笔试卷】- 最长有效括号

题目:给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。输入例子1:“(()”输出例子1:2输入例子2:“(()()”输出例子2:4说明:利用栈进行求解,start变量保存一个起始下标,每次当栈为空时置为‘)’下一个字符的下标。每遇到一个左括号,将该字符下标入栈。遇到右括号时,若栈为空,更新start。若栈不为空,出栈,并更新maxLen的值。代码:class Solution {public: /** * 代码中的类名、方法名、

2021-02-15 10:33:58 99

原创 【2021届阅文Android方向笔试卷】- 最长回文子串

题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。输入例子1:“cbbd”输出例子1:“bb”说明:两层循环枚举所有字串,若字串首尾相等,则判断是否为回文串,并且每次保存一个串,当遇到比它长的串再赋值给他,返回这个串即可。代码:class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param s string字符串

2021-02-09 21:19:22 1078 5

原创 windows下使用XShell上传文件至服务器

Linux常用文件目录方面命令:cd /路径名:切换路径,绝对路径 如:cd /usrcd ./路径名:切换路径,相对路径,比如现在位于usr,则可使用cd ./share,访问usr下的share目录cd …:返回上一级目录ls :查看文件下的文件信息exit:退出XShell上传文件:首先,创键一个会话,登录你的远程服务器。然后,在服务器端切换到你想要将文件放入的位置,如图:最后,使用rz命令即可选择要上传的文件:上传文件夹:首先先退出服务器端,进入本地端,切换到本地你

2021-02-08 22:26:33 20229

原创 【2021届阅文Android方向笔试卷】- 爬楼梯

题目:25/25[编程题]爬楼梯时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?输入例子1:2输出例子1:2说明:对于n阶的楼梯,我们考虑他的最后一步,一定是由第n-2阶走两步,和第n-1阶走一步。也就是说,对于当前的第i阶,走到它的方法数是走到i-1和走到i-2的和,递推关系即:dp[i]=dp[i-1]+dp[i-2]代码

2021-02-02 21:41:01 181 2

原创 【小红书2020校招Android方向笔试题卷三】- 笔记草稿

题目:[编程题]笔记草稿时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M薯队长写了一篇笔记草稿,请你帮忙输出最后内容。1.输入字符包括,"(" , “)” 和 "<“和其他字符。2.其他字符表示笔记内容。3.()之间表示注释内容,任何字符都无效。 括号保证成对出现。4.”<“表示退格, 删去前面一个笔记内容字符。括号不受”<"影响 。输入描述:输入一行字符串。长度<=10000.输

2021-01-24 20:27:20 387

原创 【 网易2021校招笔试-移动端开发工程师(正式第二批)】- 最长和谐连续子序列

题目:[编程题]最长和谐连续子序列时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 256M,其他语言512M和谐连续序列是指一个连续序列中元素的最大值和最小值之间的差值正好是1。现在,给定一个整数数组,你需要在所有可能的连续子序列中找到最长的和谐连续子序列的长度。输入描述:一行整数数组,由空格分割输出描述:一行一个数字表示答案,即最长和谐连续子序列的长度输入例子1:1 3 2 2 5 2 3 7输出例子1:3例子说明1:最长的连续和谐子序列是:[3,2,2]输入

2021-01-13 14:53:27 1870 3

原创 【网易2021校招笔试-移动端开发工程师(正式第二批)】- 电影院选座

题目:疫情逐步缓和后,电影院终于开业了,但是由于当前仍处于疫情期间,应尽量保持人群不聚集的原则。所以当小易来电影院选定一排后,尽量需要选择一个远离人群的位置。已知由0和1组成的数组表示当前排的座位情况,其中1表示已被选座,0表示空座请问小易所选座位和最近人的距离座位数最大是多少?有如下假设:至少有一个人已选座,至少有一个空座位,且座位数限制为输入描述:一行由0和1组成的整数数组输出描述:仅一行一个整数表示答案输入例子1:1 0 0 0 1 0 1输出例子1:2例子说明1:小易第

2021-01-10 15:01:21 1567

原创 【Android Studio】Error:Unable to resolve dependency for ‘:@debug/compileClasspath‘解决

引言:从git上拉下来的新项目,运行不了。啊这,这也太惨了吧~一般来说,这种问题是gradle版本造成的,多检查检查build.gradle文件的依赖版本号。我煎熬了三天,终于发现了问题,问题发生在项目的build.gradle文件(不是app目录下那个)。修改前:// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { r

2021-01-08 17:31:40 375

原创 Bundle数据保存与恢复

引言:在ViewPager中嵌套Fragment,当切换页面导致页面销毁时,数据可能会丢失,导致空指针异常,利用Bundle机制进行数据恢复,就可以有效的解决一些问题。使用:在Fragment的onViewCreated方法中可以获得Bundle数据: @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view

2020-11-30 17:13:42 549 3

原创 【并查集】- 模板

并查集模板:#include<bits/stdc++.h>using namespace std;const int maxn=1000005;typedef int ll;ll a[maxn],f[maxn];ll find(ll x){ if(x!=f[x]){ f[x]=find(f[x]); //路径压缩 } return f[x];}//ll find(ll x){// int j=x,y;// while(j!=f[j]){// j=f[j];//

2020-10-24 09:24:32 124

原创 【蓝桥杯】- 数字游戏

题目描述:解题过程:最初以为是一个循环节问题,样例确实是循环的,多写几组就发现了。但是,其实是一个坑,根本不是什么循环节。于是我直接暴力做了一遍,过了一半样例:#include<bits/stdc++.h>using namespace std;const int maxn=1e6+7;typedef long long ll;int main(){ ll n,k,t; ll a[maxn],pos=0,num=1,sum=0; a[pos++]=num; cin>

2020-10-06 13:23:59 678 2

空空如也

空空如也

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

TA关注的人

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