自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指 Offer 09. 用两个栈实现队列

小菜鸟一个!!

2022-11-27 21:16:36 101 1

原创 多线程与部分面试题

一、程序、进程、线程1)什么是程序?可执行文件例如:QQ.exe2))什么是进程?资源分配的基本单元3)什么是线程?调度执行的基本单位4)线程切换(context switch)T1线程被调度执行到指令2时,突然 T2线程调度器选中,T1将会被扔进一个缓冲中,先将T2线程执行,来回切换 直到 所有线程执行完成。5)单核CPU设定多线程是否有意义?有 当第一个线程在等待状态时 可以让第二个线程先执行 充分利用CPU6)线程数是不是越大越好不是 线程切换是需要消耗

2022-02-15 18:03:38 267

原创 redis基本数据类型 hash类型

一、特点hash是一个string类型的field和value的映射表,特别适合用于存储对象。如果hash的属性值被删除完,那么hash的key也会被redis删除。hash结构是可以压缩的,相比较N多个字段都单独存储成string类型来说,会比较节省内存。二、操作1)HDEL key field [field ...]删除一个或多个哈希字段summary: Delete one or more hash fieldssince: 2.0.02)HEX...

2021-12-12 16:06:21 888

原创 redis基本数据类型 sorted_set类型

一、特点Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232- 1 (4294967295, 每个集合可存储40多亿个成员)。...

2021-12-12 15:56:01 405

原创 redis基本类型 set类型

一、特点存的值唯一,不可重复,无序二、操作1)SADD key member [member ...] 向集合中添加一个或多个成员summary: Add one or more members to a setsince: 1.0.02)SCARD key 获取集合中成员数量summary: Get the number of members in a setsince: 1.0.03)SDIFF key [key ....

2021-12-12 12:47:30 484

原创 redis基本数据类型 list类型

1) BLMOVE source destination LEFT|RIGHT LEFT|RIGHT timeout 列表弹出一个元素,推到另一个列表并返回,或者阻塞直到一个是可用的LEFT|RIGHT LEFT|RIGHT : 弹出元素位置summary: Pop an element from a list, push it to another list and return it; or block until one is availablesince: 6.2.02)BLPOP k

2021-12-12 12:17:17 499

原创 Redis String类型

一、对字符串操作1)APPEND key value 向key中追加一个valueAPPEND key valuesummary: Append a value to a keysince: 2.0.03)GET key 根据key 获取 value值summary: Get the value of a keysince: 1.0.04)GETDEL key 获取该key的value 并删除该keysummary: Get the value of a key.

2021-12-11 22:14:31 233

原创 单链表实现 简单队列

package linkede;/** 队列 (单链表) * @author codelmh * @data 2021/12/9 */public class MyQueue<T> { private Node head; // 指向 头结点 private Node tail;//指向尾结点 private Integer size; // 大小 public T peek(){ if (head == null){ .

2021-12-10 14:19:35 91

原创 单链表简单实现

package linkede;/** * (带头)单链表 * * @author codelmh * @data 2021/12/9 */public class SingleLikedList<T> { private Node head; //记录头结点 private Integer size = 0; // 链表大小 /** * 链表反转 * @param singleLikedList */ publ.

2021-12-10 14:18:39 73

原创 CentOS7 安装redis

1、yum install wget2、在 redis官网(Redis)找到 redis的下载链接(https://download.redis.io/releases/redis-6.2.6.tar.gz)然后运行就可以下载wgethttps://download.redis.io/releases/redis-6.2.6.tar.gz3、下载完成后是一个压缩包,然后解压tar xf redis-6.2.6.tar.gz解压后就可以得到 redis-6.2.6...

2021-12-08 15:38:00 1163

原创 寻找局部最小

一、定义局部最小:arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]<arr[1],那么arr[0]是局部最小;如果 arr[N-1]<arr[N-2],那么arr[N-1]是局部最小;如果0<i<N-1,既有arr[i]<arr[i-1],又有arr[i]<arr[i+1],那么arr[i]是局部最小。二、题目给定无序数组arr,已...

2021-12-08 10:48:08 104

原创 1. f1() = {1,2,3,4,5} f1提供一个等概率的返回一到五的方法 根据f1写出 1~7之间返回等概率的方法 2. a1() = {0, 1} 不等概率 求返回一个 等概率的方法

一、f1() = {1,2,3,4,5} f1提供一个等概率的返回一到五的方法 根据f1写出 1~7之间返回等概率的方法。 做这个类型的题目: 提供一个等可能范围、 根据提供的等可能范围求其它范围 ① 根据提供的等可能范围求出一个 0 1 等可能 /** * 构造出 f2 等概率返回 0 1 * f1 概率返回 1- 5 所以出现各个数的概率为 20% * 所以 1 - 2 的概率 共: 40% 4 - 5 的概率 共:...

2021-12-07 10:07:00 120

原创 小算法~(一个数组查找 数组索引范围 值的总和 )

package find;/** 返回 数组范围和 * 第一种方法明显在空间上节省不少,但是却多了一步 减的操作 * 第二种方法在空间上多了很多,但是如果在取出数组范围和达到一定量级 * 量变引起质变,第二种就会比第一种好 * @author codelmh * @data 2021/12/5 */public class FindRangeSum { public static void main(String[] args) { int[] arr = {1,.

2021-12-05 23:13:35 350

原创 java 与(&)、或(|)、异或(^)、按位取反(~)、左移(<<)、右移(>>)

以一个字节 8位做演算a的2进制 00011100b的2进制:00110111int a = 28;int b = 55;a:00011100b: 00110111一、按位与(&)运算全1为1 见0为0a:00011100b: 00110111a&b: 00010100二、按位或(|)运算见1为1 全0为0a:00011100b: 001101...

2021-12-05 21:08:12 229 1

原创 反射、基础

一、获取字节码的四种方式1)通过对象的getClass 方法 // 1. 通过getClass 方法获取 AliPay aliPay = new AliPay(); Class<? extends AliPay> c1 = aliPay.getClass();2)通过对象内置的Class方法 // 2. 通过内置的class方法 Class<AliPay> c2 = AliPay.cla.

2021-11-28 19:21:26 155

原创 反射 简单实例

一、案例:支付功能---> 微信、支付宝、云闪付等等提供一个支付接口package com.lmh;/**提供支付接口 * @author codelmh * @data 2021/11/24 */public interface Payment { void payOnline();}微信支付实现 支付接口package com.lmh;/** 微信实现支付接口 * @author codelmh * @data 2021/11/24.

2021-11-24 14:03:58 642

原创 mybatis 批量插入

今天在写mybatis批量加入时,发现插入时间太长了,才几千条数据就要接近一分钟才能完成,所以也去网上找了下解决方案一、一条一条插入 <insert id="insert" parameterType="com.cntd.entity.Attack"> insert into attack (id,score, container) values ( #{id,jdbcType=INTEGER}, #{score,jdbcType=TINYINT

2021-11-22 14:03:01 348

原创 计数排序(稳定)

一、计数排序时间复杂度:O(n+k)空间复杂度:O(n+k) n:数组长度 k:桶长度稳定性:稳定二、使用场景 量大范围小,例如:求某公司大量员工年龄、高考分数 等等三、上代码package sort;import java.util.Arrays;/**计数排序(小-->大) * @author codelmh * @data 2021/11/21 */public class CountSort { public static...

2021-11-21 20:10:00 426

原创 插入排序(直接插入、希尔排序)

一、直接插入排序时间复杂度:O(n²)空间复杂度:O(1)稳定性:稳定 直接插入排序就有点像整队一样,已经已经排序的差不多了,但是突然发现你前面有个人的个子明显矮了半截,然后整队的人就会把他往前面插进去,然后刚刚位置前他当前位置以后的所有人都会往后挪一个位置例如: 由小到大排序2, 1, 5, 6, 7, 3, 4① 2与1比 ,2比1大,交换位置1, 2, 5, 6, 7, 3, 4②2和5 比、5和6比、6和7比,都不用交换位置1, 2, 5...

2021-11-21 13:03:56 618

原创 归并排序(细~~)

一、归并归并排序先懂归并那接下来的代码也就更加容易理解了。假设有一个数组那我们如何进行归并呢?如下数组两边有序的数组才能进行归并arr= {1, 4, 7, 9, 2, 5, 8}我们将这个数组看成两个小有序数组,但是不是分开arrLeft = {1, 4, 7, 9} arrRight = {2, 5, 8}那么我们将这两个数合并成一个有序数组①先创建一个新数组和arr的长度一致,前期准备 //构建一个新数组 和原来的数组长度一致 ...

2021-11-21 08:00:00 78

原创 冒泡排序 (小优化)

时间复杂度:O(n²)空间复杂度:1 稳定性:稳定冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大并且将这个数放到数组的相应位置。比如对下面这个序列进行从小到大排序:5, 9, 2, 7, 4, 1, 8, 3, 6第一轮:1) 5 和 9比,5 < 9,则它们不交换位置5, 9, 2, 7, 4, 1, 8, 3, 62) 9 和 2 比,9 > 2,则交换位置5, 2, 9, 7, 4, 1, ...

2021-11-19 10:36:54 762

原创 选择排序(小优化)

package sort;/**选择排序(小 ->大) * @author codelmh * @data 2021/11/18 */public class SelectSort { public static void main(String[] args) { /** * 思路:选择排序是非常简单的一个排序方式 也是不常用的排序方式 * 缺点:时间复杂度(n²) 而且不稳定 * 将第一个 假设为最小值的.

2021-11-18 20:08:41 301

空空如也

空空如也

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

TA关注的人

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