- 博客(42)
- 收藏
- 关注
原创 uabntu系统中解决An error occurred while creating the AVD. See idea.l问题
跟着《第一行代码》搭建开发环境,但我使用的是ubantu系统,在创建模拟器的过程中,跳出了问题:An error occurred while creating the AVD. See idea.l。在网上查找答案都是说少了一个库,使用以下命令:sudo apt-get install lib32stdc++6,执行以后没有用。后来在这里看到了一个解决方法,在终端中输入以下命令:sudo chown -R 用户名 .android成功!...
2022-03-24 18:19:01 2717 2
原创 剑指 Offer 10- I——斐波那契数列
题目:斐波那契数列解题思路:1、直接使用递归的方法超时了,其中包含很多的重复运算;2、使用动态规划转移方程:dp[i+1] = dp[i]+dp[i-1]初始状态:dp[0] = 0; dp[1]=1;因为每项只和后两项有关,所以使用两个变量,交替前进,空间复杂度降为O(1);/** * @Auther: ylei * @Date: 2021-06-16 15:32 * @Description: 斐波那契数列 */public class Fib { public int
2021-06-16 16:01:05 184
原创 剑指 Offer 09.——用两个栈实现队列
题目:用两个栈实现队列实现思路:创建连个栈对象,分别命名为栈1和栈2,一个用来添加元素,一个用来弹出元素;首先将元素添加到栈1中,当需要弹出元素时,将栈1中的元素弹出放到栈2中,再将栈2中的元素弹出,即可实现先进先出的队列结构;import java.util.Stack;/** * @Auther: ylei * @Date: 2021-06-16 15:18 * @Description: 两个栈实现队列 */public class CQueue { Stack<In
2021-06-16 15:28:51 181
原创 leecode07——重建二叉树
题目:重建二叉树解题思路:1、前序遍历数组的第一个元素即为该节点对象的值,再通过查询中序遍历数组的元素,即可找到左右子节点数组;2、二叉树相关的题可以使用递归,使用时需要注意一下几点:(1)终止条件是:该节点为空,无法创建对象;(2)递归方法需要返回一个节点对象;(3)每次递归时,需要创建新的节点对象,并给节点赋值;(4)左右节点仍然是一个结点对象,那么就可以再次调用递归方法创建左右节点;import java.util.Arrays;/** * @Auther: ylei * @D
2021-06-16 15:13:47 170
原创 大数取模的问题
1、大数的排列组合等为什么要取模?1000000007是一个质数(素数),对质数取余能最大程度避免结果冲突/重复int32位的最大值为2147483647,所以对于int32位来说1000000007足够大。int64位的最大值为2^63-1,用最大值模1000000007的结果求平方,不会在int64中溢出。所以在大数相乘问题中,因为(a∗b)%c=((a%c)∗(b%c))%c,所以相乘时两边都对1000000007取模,再保存在int64里面不会溢出。2、这道题为什么要取模,取模前后的值
2021-06-15 11:35:00 663
原创 剑指 Offer 06. 从尾到头打印链表
题目:从未到头打印链表这种打印链表的元素有三种方法:方法一:使用库函数Stack(),利用栈先进后出的特征新建Stack对象,将链表中的元素放入栈中,然后取出栈中元素放入数组中;方法二:使用使用递归,借助集合存储元素新建ArrayList集合,使用递归将链表中的元素从尾到头放到数组中,再将集合中的元素放到数组中;方法三:使用递归,借助指针定义两个指针,一个跟着循环用来记录元素的个数,一个用来标记数组下标;注意:1、使用递归时,将集合或者数组作为静态变量,可以避免一些不必要的参数;2、在递
2021-06-10 23:59:58 179 2
原创 剑指 Offer 05. 替换空格
题目:替换空格解题思路:字符串相关的题,一般需要使用库函数;解题1:使用charAt()方法使用charAt()方法,遍历整个字符串,如果字符不是空格,将该字符追加到StringBuilder对象上,否则将“%20”追加到StringBuilder上;解题2:使用replace()方法...
2021-06-10 15:50:47 73
原创 剑指 Offer 04. 二维数组中的查找
题目:二维数组的查找解题思路:因为数组是按顺序排列的,从右上角进行查找,如果当前数字大于目标数字,向左移动,当前数字大于目标数字,向下移动,当前数字等于目标数字,则返回true;如果遍历完仍然没有结果,则返回false;注意这是一个二维数组,遍历时注意移动的范围,下标不能越界!...
2021-06-10 15:10:50 82
原创 剑指 Offer 03. 数组中重复的数字
从今天开始刷剑指offer,预计半个月刷完;在此记录做题方法,以备查看;题目链接:数组中重复的数字解题方法1:新建HashSet集合用于存储数组中的元素,使用contains()方法判断集合中的元素是否已经存在,存在即返回,不存在即放入;时间复杂度O(n);空间复杂度O(n);解题方法2:同样新建HashSet集合存储元素,每次放入元素后判断集合的长度是否变化,若长度不变,则该元素重复;时间复杂度O(n);空间复杂度O(n);解题方法3:将原数组使用Arrays.sort()方法进行排
2021-06-09 17:02:18 49
原创 Spring Boot用到的相关注解
1、控制器相关注解@Controller:用于标注控制类的注解,return的结果会被视图处理器事变为静态文件的路径,默认在templates文件夹下;@ResponseBody可以标注方法,也可以标注类,标注方法时,表示该方法的返回值写入HTTP response body中,视图处理器不会识别成路径,会将结果以json的格式返回到页面@ResController相当于@Controller和@ResponseBody的结合体。@RequestMapping可以注解类和方法,注解类时标注请求的
2021-06-04 00:13:24 57
原创 Spring Boot入门九——创建非web工程
创建普通java工程的方法如下:1、创建业务接口,并实现,在实现类上加@Service注解,将该类交给容器去管理2、在Application类上实现CommandLineRunner接口,并是实现接口的run方法3、通过@Autowire注解,获取业务类对象,在run()方法中调用该对象的方法...
2021-05-25 17:39:57 98
原创 Spring Boot入门十一——servlet
Spring Boot集成servlet总共有两步Step1:定义一个servlet类继承HttpServlet,并在该类上添加@WebServlet注解,给定访问地址,并重写该类的doGet()和doPost()方法,并且在doPost方法中调用doGet方法@WebServlet(urlPatterns = "/servlet")public class MyServlet extends HttpServlet { @Override protected void doGet(H
2021-05-25 17:30:35 247
原创 Spring Boot入门十——拦截器
在Spring Boot项目中使用拦截器主要分为三步step1:在控制器中创建不同的视图页面,其中有需要拦截的页面step2:创建拦截器对象实现HandlerInterceptor接口,并实现接口的方法,在preHandler()方法中编写拦截规则,可以将拦截的对象重定向到其他页面public class UserInterceptor implements HandlerInterceptor { //定义拦截规则 @Override public boolean preHandl
2021-05-25 17:21:14 115
原创 Spring Boot入门八——集成dubbo
Spring Boot集成dubbo的过程如下:1、分别创建接口、提供者和消费者工程2、接口工程为普通maven项目,创建业务接口3、服务提供者工程(1)引入接口工程依赖,并添加dubbo依赖和zookeeper依赖(2)在核心配置文件中给定应用名称、端口号、zookeeper地址和端口号,声明为服务提供者# 应用名称spring.application.name=010-springboot-dubbo-provider# 应用服务 WEB 访问端口server.port=8081
2021-05-24 17:31:23 192
原创 Spring Boot入门七——集成redis
Spring Boot集成redis的步骤如下:(1)创建Springboot项目,在项目中添加redis依赖(2)在核心配置文件中配置连接redis的信息 1. spring.redis.host 2. spring.redis.post 3. spring.redis.password(3)在业务层中注入RedisTemplate类,调调用redisTemplate.opsForValue().get()方法可以通过key获取redis中的value值,通过redisTemplate.o
2021-05-24 17:07:25 100
原创 Spring Boot入门六——RESTful风格
RESTful是一种代码风格,一种范式,更易于缓存,使用方法如下:常规请求路径:localhost:8080/student?id=1RESTful风格:localhost:8080/student/1为了实现RESTful风格需要将控制层的方法修改为@GetMapping(value="/student/{id}"),同时将方法中的参数加上@PathVariable注解注意:RESTful风格建议使用增删改查吗,不同的请求方式出现请求冲突时,修改请求方式,或者该路径...
2021-05-24 12:21:40 100
原创 Spring Boot入门五——Spring MVC相关注解
1、@RestController要求控制类中的方法返回的都是json格式,相当于:@Controller+@ResponseBody2、请求方式:@RequestMapping支持Get请求、Post请求;@GetMapping只支持get请求,只要用于查询操作@PostMapping只支持post请求,主要用于新增操作@PutMapping只支持Put请求,主要用于修改操作@DeleteMapping只支持delete请求,主要用于删除操作...
2021-05-24 09:31:42 62
原创 springboot入门四——springboot集成mybatis
springboot集成mybatis的步骤:1、创建项目,加入逆向工程文件GeneratorMapper.xml,并在POM文件中加入逆向工程插件,使用逆向工程生成实体bean和持久层2、将mapper的映射文件移动到resource下新创建的mapper路径下,并在核心配置文件中指定mapper文件的位置2、在POM文件中加入相关依赖:mysql、mybatis整合springboot起步依赖3、在核心配置文件application.properties中编写连接数据库的信息4、创建控制类,调
2021-05-23 23:22:02 176
原创 springboot入门三——springboot集成jsp
springboot集成jsp的主要流程为:1、创建springboot工程web项目2、创建webapp文件夹,并将其修改为资源文件夹3、在POM文件中添加springboot项目tomcat对jsp的依赖,并修改编译路径4、在核心配置文件中创建视图解析器5、创建控制层和jsp页面,并使用浏览器进行访问相关过程如下:...
2021-05-23 08:44:52 76
原创 SpringBoot入门(二)——核心配置文件
上文介绍了如何使用SpringBoot创建一个web项目,用来输出Hello SpringBoot,使用的是默认端口号和上下文根,这节介绍一下如何修改端口号和上下文根,以及不同环境下主配置文件的激活;一、修改SpringBoot工程默认端口号和上下文根1、创建SpringBoot工程的web项目2、只需要在核心配置文件applicaton.properties中重新定义端口号和上下文根即可:server.port=8090server.servlet.context-path=/modify运
2021-05-23 08:30:57 623
原创 SpringBoot入门(一)
一、Spring Boot的特点1、直接使用java main方法启动内嵌的tomcat 服务器运行SpringBoot程序,不需要部署war包文件2、提供约定的starter POM,简化了Maven配置(起步依赖,配置套餐 )3、自动化配置,根据项目的Maven依赖配置,SpringBoot自动配置Spring、Spring mvc等4、基本不适用xml配置文件,采用注解配置二、Spring Boot项目的目录结构使用Spring Initializr创建项目1、其中src/main/j
2021-05-22 16:33:48 108
原创 mysql报错:Unknown system variable ‘validate_password_policy‘
在mysql8.0中修改密码的变量名变了,使用validate_password.policy即可!查询方式如下:在mysql中输入:SHOW VARIABLES LIKE ‘validate_password%’;得到以下结果:+--------------------------------------+--------+| Variable_name | Value |+------------------------------------
2021-05-17 00:34:07 5364 1
原创 Integer类的常用方法
Integer类Integer类是int类型的包装类,可以和int实现自动装箱和拆箱常用方法1、使用byteValue()、floadValue、longValue()等可以将int类型数据转换为其他基本类型2、public static int max(int a, int b)和public static int min(int a, int b)调用Math类中的方法进行大小比较3、public static int parseInt(String s,int radix) throws
2021-04-21 17:59:48 1256
原创 Character类的常用方法
Character类Character是char类型的包装类,因为自动拆箱和自动装箱机制,很多时候可以当做char来使用Character的常用方法1、public static int compare(char x, char y)比较连个char类型的值2、Character.digit(char ch,int raidx)和Character.forDigit(int digit,int radix)可以用来和16进制的字符进行转换3、public static boolean isDi
2021-04-21 17:39:21 2876
原创 StirngBuffer和StringBuilder
区别1、StringBuffer是线程安全的,而StringBuilder不是2、StringBuilder相较与StringBuffer来说速度更快在没有不需要线程安全的情况下,建议使用StringBuilder常用方法StringBuffer和StringBuilder的方法相同,这里以StringBuilder为例构造方法1、public StringBuilder()初始容量为16个字符2、StringBuilder(CharSequence seq)初始化时可以传入字符串实
2021-04-21 17:13:53 155
原创 String类的常用方法
常用方法1、int charAt(int indext)返回指定索引出的char值2、int compareTo(String anotherString)按字典顺序比较两个字符串,返回第一个不同字符的char值int 你= "Hi".compareTo("HI")//返回值是323、boolean contains(CharSequence s)判断是否包含指定的字符序列,主要用来判断是否是子字符串。CharSequence是一个接口,String、StringBuffer、String
2021-04-21 16:45:33 137
原创 String、char、和int类型之间的转换
String转char和int1、String转int使用Integer.valueOf()或者Integer.parseInt()方法String str1 = "1";int i1 = Integer.valueOf(str1);Integer i2= Integer.parseInt(str1);2、String转char使用String.charAt()、String.toCharArray()方法//使用charAt()String str = "a";char a1 =st
2021-04-21 12:25:34 378
原创 java中十进制和其他进制之间的转换
十进制转成其他进制//十进制转换成2进制String s1 = Integer.toBinaryString(int i);//十进制转换为8进制String s2 = Integer.toOctalString(int i);//十进制转换为16进制String s3 = Integer.toHexString(int i);//十进制转R进制,radix代表进制数String s4 = Integer.toString(int i,int radix)其他进制转十进制//R进制转十
2021-04-21 11:53:30 277
原创 next()、nextInt()等和nextLine()之间的区别
主要用法都是通过Scanner对象读取用户输入;但返回值类型不一样next():返回的是String类型的数据;nextInt():只能读取int类型数据,返回的是int类型的数据;nextFload():只能读取fload类型数据,返回的是fload类型的数据;nextLine():返回的也是String类型的数据;主要区别next()、nextInt()、nextFload()从第一个有效字符开始读取,到遇到无效字符结束,这里的无效字符主要指空格、换行符\n;注意:这里不会读取换行符,而
2021-04-21 11:34:57 1417
原创 华为机试H32-密码截取(最长回文子串)
题目题目来源:华为机试H32题目描述Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮C
2021-04-20 22:14:21 205
原创 华为机试-HJ26字符串排序
题目题目链接:字符串排序题目描述编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type 输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA 输出: aABb规则 3 :非英文字母的其它字符保持原来的位置。如,输入: By?e 输出: Be?y注意有多组测试数据,即输入有多行,每一行单独处理(换行符隔开的表示不同行)答案import java.util.*;pub
2021-04-19 18:35:42 339
原创 华为机试HJ20-密码验证合格程序
题目题目描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度大于2的子串重复输入描述:一组或多组长度超过2的字符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG答案import java.util.*;public class Main{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in);
2021-04-17 23:50:24 675
原创 华为机试HJ19-简单错误记录
一、题目开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1、 记录最多8条错误记录,循环记录,最后只用输出最后出现的八条错误记录。对相同的错误记录只记录一条,但是错误计数增加。最后一个斜杠后面的带后缀名的部分(保留最后16位)和行号完全匹配的记录才做算是”相同“的错误记录。2、 超过16个字符的文件名称,只记录文件的最后有效16个字符;3、 输入的文件可能带路径,记录文件名称不能带路径。4、循环记录时,只以第一次出现的顺序为准,后面重复的不会更新它的出现时间,仍以第
2021-04-17 22:43:55 208
原创 华为机测03-明明的随机数
题目明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据(用于不同的调查),希望大家能正确处理)。注意: 输入可能有多组数据(用于不同的调查)。每组数据都包括多行,第一行先输入随机整数的个数N,接下来的N行再输入相应
2021-04-13 16:42:55 40
原创 华为机测02-计算字符个数
题目写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写。答案import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); String str = scan.nextLine(); //在字符串后添加一个空格 st
2021-04-13 12:27:41 48
原创 华为机测01-计算最后一个单词的长度
题目计算字符串最后一个单词的长度,单词以空格隔开答案import java.util.Scanner;class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); String str = scan.nextLine(); //使用String类的split()函数分割字符串 String[] s = str.split(" "); int num = s[
2021-04-13 11:32:44 43
原创 力扣刷题-数组-两数之和
一、力扣题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。二、相关知识1、新建数组的两种方法:(1)使用new方法,创建固定长度的空数组//创建长度为5的整数数组int[] list2 = new int[5];(2)创建非空数组//创建一个非空数组,并赋值int[] list2 = {1,2,3,4};2、遍历数组(1)使用下标遍历数组数组的每一个下标对应数组中的元素,下标从0开始;//新建
2021-04-08 16:23:38 107
原创 Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource
Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource*Could not find resource*Could not find resource*在使用Mybatis框架写java代码时,发现总是报错首先检查了mapper文件,没有发现错误,最后看到Error parsing SQL Mapper Configuration. Cause: java.io.IOEx
2021-04-01 13:26:24 3488
原创 使用mysql创建表格
使用mysql新建表格创建表格查询表结构表格数据的新增查询表格信息创建表格最近在准备些JavaWeb项目,但是前面学的很多知识都忘差不多了,这里吧用到的记录一下,方便以后整理。下面使用create进行表格的创建#判断是否有同名的表格drop table if exists t_user;#创建表格create table t_user( #设置表格格式 id int(10) primary key auto_increment, name varchar(32) not null un
2021-03-23 11:04:43 1575
原创 安装tensorflow-gpu过程总结
为了完成导师的任务费了好大力气装好了tensorflow—cpu,作业完成以后下决心装一个gpu版本的,装了大半天终于成功了,在这分享一下。 因为cpu版本的比较简单,这里就不讲了,其实就是不用装CUDA和cuDNN,其余基本一样。GPU版本安装安装要求:如果要安装GPU版本需要确认你电脑必须装有NIVIDA的显卡。1)下载并安装anaconda...
2020-04-22 00:02:42 1289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人