自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win10麦克风声音小的问题

最近我在使用语音软件时,发现把软件中麦克风声音拉满但别人还是说麦克风声音小,后经发现是win10系统中的麦克风声音没拉满的问题。

2023-01-31 08:52:41 704 1

原创 java-去除重复字母(leetcode316)

给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例1:输入:s = “bcabc”输出:“abc”示例2:输入:s = “cbacdcbc”输出:“acdb”使用LinkedList模拟一个栈,使用一个count数组来记录字符串中每个字符出现的次数。然后对字符串开始遍历,如果该字符不在栈中,那么便把他与栈顶字符进行比较,如果他的字典序比栈顶字符小,并且栈顶字符后面还出现过,那么就弹出栈顶元素,循环判断。.

2022-06-29 09:47:22 434

原创 java-字符串解码(leetcode394)

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

2022-06-27 17:13:05 555

原创 layui里的倒计时

语法:语法:util.countdown(endTime, serverTime, callback)endTime:结束时间戳或Date对象,如:4073558400000,或:new Date(2099,1,1).serverTime:当前服务器时间戳或Date对象callback:回调函数。如果倒计时尚在运行,则每一秒都会执行一次。并且返回三个参数: date(包含天/时/分/秒的对象)、 serverTime(当前服务器时间戳或Date对象), timer(计时器返回的ID值,用于clearT

2022-03-27 13:12:53 3594

原创 layui数据表格的使用(前端和后端)

数据表格(纯前端)快速使用首先需要引入layui的css和js<link rel="stylesheet" href="../static/layui/css/layui.css"><script src="../static/layui/layui.js" charset="utf-8"></script>然后再定义一个table标签,并写入js代码即可快速使用<table id="demo"></table><script

2022-03-26 13:41:11 14584 8

原创 使用layui时出现了$ is not defined

在写ajax代码时前端出现了报错提示$未定义代码$.ajax({ url: '/book/delbook', success:function () { console.log('ok') }})解决方法定义或者将或者将或者将修改为layui.$修改后的代码layui.$.ajax({ url: '/book/delbook', success:function () { console.log('ok') }

2022-03-22 14:59:10 1635 2

原创 实体类定义规则

实体类定义规则不同的包名PO定义:persistent object 持久化对象,有时也被称为Data对象,对应数据库中的entity(实体),可以简单认为一个PO对应数据库中的一条记录VO定义:view object 表现层对象,主要对应页面显示(web页面/swing页面)的数据对象,可以和表对应,也可以不对应DTO(TO)定义:Data Transfer Object 数据传输对象,比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO内的数据来源于多个表)。但

2022-03-05 14:56:10 834

原创 java的快速排序

简介快速排序是一种既不浪费空间又可以快一点的排序算法。快速排序只用了本身一个数组,没有使用额外的数组空间。实现逻辑先从数组中取一个数作为基准数(通常取第一个数)分区,将比这个数大的数全放到它的右边,小的数全放到它的左边再对它的左边和右边继续分区,直到各区间只有一个数代码(java) // l:数组的开始下标 r:数组的结束下标 public void QuickSort(int[] nums,int l,int r){ if (l>r){

2021-12-16 09:30:15 1020

原创 java的KMP算法

KMP算法是由三个人共同提出,并以他们名字的首字母命名的,故叫做KMP算法。该算法相对于 Brute-Force(暴力)算法有比较大的改进,主要是消除了主串指针的回溯,从而使算法效率有了某种程度的提高。KMP算法要利用一个next数组:next[i]:从下标为0到i的子串的前缀和后缀相等的最大长度。同时也就表示要回退的位置(不是对称,是从左往右相等)next求法前缀:不包含最后一个字符的子串。比如aab的前缀是a或者aa后缀:不包含第一个字符的子串。比如aab的后缀是b或者ab求出next数组后,

2021-12-14 09:53:31 457

原创 java动态规划-乘积最大子数组

给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。输入: [2,3,-2,4]输出: 6输入: [-2,0,-1]输出: 0思路:因为是乘积,有可能出现负负得正的情况,所以不仅要记录最大值还要记录最小值代码: //因为存在负负得正的关系,所以定义了min public int maxProduct(int[] nums) { //re为结果 int re=nums[0];

2021-11-29 10:36:14 269

原创 java动态规划-单词拆分

给你一个字符串 s 和一个字符串列表 wordDict 作为字典,判定 s 是否可以由空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true输入: s = “applepenapple”, wordDict = [“apple”, “pen”]输出: true思路:采用动态规划的思路,dp[i]表示字符串的前i个字符能否被字典的单词拆分,递推公式:dp[i]=

2021-11-26 10:47:59 502

原创 java动态规划-买卖股票

给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入: prices = [7,1,5,3,6,4]输出: 7示例2:输入: prices = [1,2,3,4,5]输出: 4思路:采用动态规划的思路,每天只有持股或者未持股两种状态,因此可以new一个dp数组。dp[i][0]:表示

2021-11-20 08:47:33 747

原创 java动态规划-交错字符串

给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:输入:s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbcbcac”输出:true输入:s1 = “aabcc”, s2 = “dbbca”, s3 = “aadbbbaccc”输出:false思路:定义一个二维boolean类型的dp数组dp[n][m],n表示s1的字符下标,

2021-11-15 15:13:48 316

原创 java动态规划

什么是动态规划?动态规划是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。也就是把一个复杂的问题拆分成几个小问题,再把小问题继续拆分,然后先从小问题开始解决,层层向上,最终得到复杂问题的答案。三大性质最优子结构性质:如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满足最优化原理)。最优子结构性质为动态规划算法解决问题提供了重要线索。子问题重叠性质:子问题重叠性质是指在用递归算法自顶向下对问题进行求解时,每次产生的子问题并不

2021-11-15 13:48:08 1102

原创 mysql round函数以及sum和count的区别

round:round函数用于数据的四舍五入,它有两种形式round(x,d):x指要处理的数,d是指保留几位小数这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0round(x):其实就是round(x,0),也就是默认d为0;例子查询: select round(1123.26723,2)结果1123.27查询: select round(1123.26723,0);结果:1123查询: select round(1123.26723,

2021-11-11 11:09:05 2869 1

原创 java单词搜索

给定一个 char类型的二维数组网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如:思路:以二维数组的每个字符为首来进行判断,如果首字符匹配,则先修改使用过的值,再向字符四周进行扩散,如果找到则返回true。使用了递归的思想。代码: public boolean exis

2021-11-11 10:09:27 538

原创 mysql结果重复输出(union语法)

题目:现在运营想要分别查看学校为山东大学或者性别为男性的用户的device_id、gender、age和gpa数据,请取出相应结果,结果不去重。思路:这个题目要求查出山东大学或者性别为男性的用户,意思是如果又是山东大学又是男性,那么会出现两条一模一样的数据,如果单纯的在where后使用or进行判断,那么结果会去重,所以要使用union语法union语法:union用于把来自多个 SELECT 语句的结果组合到一个结果集合中SELECT column,... FROM table1 UNION [

2021-11-05 15:18:37 863

原创 java全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]思路:采取递归的方法来对每个数据进行遍历,并使用一个数组来标记该数据是否被访问过 public List<List<Integer>> permute(int[] nums) { List<List<Intege

2021-11-04 15:33:49 163

原创 java字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。输入: num1 = “2”, num2 = “3”输出: “6”输入: num1 = “123”, num2 = “456”输出: “56088”思路:其实就是手写乘法的过程,首先我们要知道一个数学定理:两个长度分别为n和m的数相乘,长度不会超过n+m,所以我们可以创建一个长度为n+m的数组来存储结果。使用两个for循环从字符串的最低位开始计算,一个字符乘以一个字符,

2021-11-04 10:34:28 3130

原创 mysql分组过滤(having)

查出平均发帖数低于5的学校或者平均回帖数小于20的学校思路:通过大学进行分组,算出平均值,再通过having语句过滤掉数据代码select university, avg(question_cnt) as avg_question_cnt, avg(answer_cnt) as avg_answer_cntfrom user_profilegroup by universityhaving avg_question_cnt<5 or avg_answer_cn

2021-11-03 16:25:04 755

原创 java在排序数组中查找元素的第一个和最后一个位置

给定一个升序排列的整数数组,和一个目标值,找出给定目标值在数组中的开始位置和结束位置,如果数组中不存在目标值,返回[-1,-1]输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]思路:通过二分法来找出目标值的左边界和右边界 public int[] searchRange(int[] nums, int target) { int[] re =

2021-11-03 14:02:56 552

原创 java括号匹配

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。输入:s = “([)]”输出:false输入:s = “{[]}”输出:true思路一:采用栈的方式来判断,当是左括号时,往栈里压入一个右括号;当是右括号时,就把栈里元素弹出来判断 public boolean isValid(String s) { Stack<Character

2021-11-02 13:57:54 3031 1

原创 java最长公共前缀

给定一个字符数组,要求找到其中的最长公共前缀输入:strs = [“flower”,“flow”,“flight”]输出:“fl”思路:先找出数组中的最短的字符串,然后再利用indexOf函数来判断是不是公共前缀,如果不是,则将最短的字符串-1再判断indexOf方法详解:indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引indexOf(int ch, int fromIndex)

2021-11-02 10:14:42 155

原创 mysql分数排名

题目要求写一个sql查询来实现分数排名,但排名不能有间隔select a.Score ,(select count(distinct Score) from Scores b where b.Score>=a.Score) as `Rank` from Scores a order by Score desc思路对于a表中的成绩,计算出b表有多少个不重复的成绩大于a表的成绩,计算出来的数据就是a表的排名...

2021-11-01 15:06:15 489

原创 mysql的排序和ifnull函数及sql完整语法

order by:排序,默认是升序(asc),想要降序排,要在后面加上参数desclimit a b:a表示是第几页(从0开始),b表示每页有多少个数据ifnull(a,b):如果a不是null,则返回a,如果a是null则返回bselect ifnull( (select distinct Salary from Employee order by Salary desc limit 1 ,1) ,null)as SecondHighestSalarySalary表示工资,上

2021-11-01 14:34:58 572

原创 java最长回文子串

给定一个字符串,求最长的回文子串例1:输入:s = “babad”输出:“bab”例2:输入:s = “cbbd”输出:“bb”思路:因为是回文子串,所以会以一个中心两边对称,因此采用中心扩散法,选定一个中心,向两边扩散,但会存在中心是一个字符或者是两个字符的情况。当中心是一个字符时,长度为奇数,当中心是两个字符时,长度为偶数 public String longestPalindrome(String s) { if (s.length()<1){//防

2021-11-01 10:33:31 1062 2

原创 Redis学习

一、Nosql概述为什么要使用NoSQL用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长!这时候我们就需要使用NoSQL数据库,NoSQL可以很好的处理以上的情况什么是NoSQLNoSQLNoSQL = Not Only SQL(不仅仅是SQL)泛指非关系型数据库,关系型数据库:列+行,同一个表下数据的结构是一样的。非关系型数据库:数据存储没有固定的格式,并且可以进行横向扩展。NoSQL特点解耦1、方便扩展(数据之间没有关系,很好扩展)2、大数据量

2021-11-01 09:12:26 262

原创 java求不重复最长子串及其长度

本题要求传入一个字符串,求出不重复最长子串的长度,但我在求最大长度的基础上,增加了输出最长子串(存在bug)思路:通过hashmap的key值唯一来判断是否出现重复字符,当出现重复字符,再判断是否为最大长度,如果是则通过另一个hashmap来保存,并且使用回溯来返回第一个重复字符的下一个字符,并且清空记录字符串的hashmap。因为hashmap无序唯一的特点,所以采取key记录字符,value记录下标,这样最后通过下标来调整字符串的顺序。 public static int lengthOf

2021-10-29 09:59:51 952

原创 修改控制台的编码方式(CMD)

通过修改注册表的值永久修改windows控制台的编码方式首先打开注册表按下win+r,输入regedit进入该路径\HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe这个路径下的CodePage就是我们控制台的编码方式(如果没有,可以自己创建该值)修改CodePage的内容为65001就是UTF-8的编码方式重启控制台右键查看属性,发现当前的代码页已经被修改为65001(UTF-8)...

2021-10-27 14:10:06 1600

原创 win10插孔检测

打开(关闭)插孔检测按下win键,点开Realtek Audio Console点击设备高级设置发现里面有是否开启插孔检测和连接器要分配的设置(耳机、麦克风、耳机带麦克风等)关闭后,以后每次插入耳机就会默认的选择连接器,而不用每次都要自己选择了...

2021-10-11 07:53:46 2628

原创 IO流总结

问题1.Java IO流有什么特点?先进先出:最先写入输出流的数据最先被输入流读取到顺序存取:可以一个接一个地往流中写入一串字节,读出时也将按写入顺序读取一串字节,不能随机访问中间的数据。(RandomAccessFile除外)只读或只写:每个流只能是输入流或输出流的一种,不能同时具备两个功能,输入流只能进行读操作,对输出流只能进行写操作。在一个数据传输通道中,如果既要写入数据,又要读取数据,则要分别提供两个流。2.Java IO流分为几种类型?3.字节流和字符流的关系与区别?4.字符流是

2021-10-09 15:00:29 122

原创 hashcode和equals

hashcode和equals的关系同为Object类的方法源码public native int hashCode();public boolean equals(Object obj) { return (this == obj);}可以看到hashCode底层是一个native方法,而equals底层则是使用了 == 进行判断hashCode(): 获取哈希码,也称为散列码,返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置equals(): 用来判断两个对

2021-10-08 16:20:46 43

原创 格式化时间

时间类的使用显示当前时间System.out.println(new Date());结果:显示当前时间的毫秒返回自1970年1月1日以来,经过的毫秒数 System.out.println(new Date().getTime()); System.out.println(System.currentTimeMillis());结果这两个方法是等价的,一般常用System.currentTimeMillis(),因为不用创建对象日期格式化

2021-10-08 09:47:10 203

原创 IO流学习

File类file操作文件 public static void main(String[] args) throws IOException { //创建一个File类对象 //File f = new File("F:\java学习\常用类、集合和IO\test.txt");错误的 里面会误识别转义字符 //File f = new File("F:\\java学习\\常用类、集合和IO\\test.txt");可以 File f =

2021-10-08 08:24:12 129

原创 集合学习小结

数组缺点:增加删除效率低​ 优点:查询效率高集合:把相同特征的个体整合到一起数据结构逻辑结构定义:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后关系,而与他们在计算机中的存储位置无关线性结构定义:有且只有一个开始结点和一个终端结点,并且所有结点最多只有一个直接前驱和一个直接后驱非线性结构定义:一个结点元素,对应多个直接前驱和多个直接后驱存储结构(物理结构)定义:指数据的逻辑结构在计算机存储空间的存放形式,也就是真正在计算机存储器中如何存储的顺序存储定

2021-10-08 08:17:44 121

原创 常用类学习(String、时间、日历、Math)

String、StringBuffer和StringBuilderStringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,任何对String的改变都会引发新的String对象的生成;StringBuffer和StringBuilder则是可变类,任何对它所指代的字符串的改变都不会产生新的对象String内存分析String s1 = "abc";String s2 = "a"+"b"+"c";//字符串拼接,会进行编译期优化,直接拼成最终你

2021-10-08 08:13:33 75

原创 包装类学习

1.基本数据类型和引用数据类型基本数据类型-----引用数据类型(包装类)-------继承关系byte Byte 直接继承Number间接继承Objectshort Shortint Integerlong Longfloat Float

2021-10-08 08:06:32 49

原创 JUC学习

1、什么是JUCjava.util工具包2、线程和进程进程(Process)程序是指令和数据的有序集合,本身没有运行的含义,是一个静态的概念。进程是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位。线程(Thread)通常在一个进程中可以包括若干个线程,一个进程中至少有一个线程,不然没有存在的意义,线程是CPU调度和执行的单位真正的多线程是指有多个CPU,即多核线程就是独立的执行路径每个线程在自己的工作内存交互,内存控制不当会造成数据不一致java开不了线程,只能调用

2021-10-08 08:04:21 193

原创 MybatisPlus学习

MybatisPlus概述基础:mybatis、spring、springMVC所有的CRUD代码MybatisPlus都可以自动完成特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求,以后简单的CRUD操作,不用自己编写了支持 Lambda

2021-10-03 09:49:35 122

原创 设计模式(残)

OOP七大原则(OOP:面向对象编程)开闭原则:对扩展开发,对修改关闭里氏替换原则:继承必须确保父类所拥有的性质在子类中仍然成立(尽量少重写父类的方法)依赖倒置原则:要面向接口编程,不要面向实现编程单一职责原则:控制类的粒度大小,将对象解耦,提高其内聚性(一个方法不要处理太多东西)接口隔离原则:要为各个类建立它们需要的专用接口迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现单例模式(创建型模式)核心作

2021-10-03 09:34:31 69

空空如也

空空如也

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

TA关注的人

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