力扣1984:学生分数的最小差值
2022年02月11日 力扣每日一题
题目
给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k 。
从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最低分 的 差值 达到 最小化 。
返回可能的 最小差值 。
示例 1:
输入:nums = [90], k = 1
输出:0
解释:选出 1 名学生的分数,仅有 1 种方法:
- [90] 最高分和最低分之间的差值是 90 - 90 = 0
可能的最小差值是 0
示例 2:
输入:nums = [9,4,1,7], k = 2
输出:2
解释:选出 2 名学生的分数,有 6 种方法:
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 4 = 5
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 1 = 8
- [9,4,1,7] 最高分和最低分之间的差值是 9 - 7 = 2
- [9,4,1,7] 最高分和最低分之间的差值是 4 - 1 = 3
- [9,4,1,7] 最高分和最低分之间的差值是 7 - 4 = 3 ...
个人网站加入到搜索引擎中
一般来说,搜索引擎中是不会收入你个人网站的,你可以试试用谷歌或者百度等其他搜索引擎看看,能不能收到你个人网站的相关页面?
如果搜索不到,你可以申请加入搜索引擎,这个是免费的,下面提供一些搜索引擎的提交地址:
谷歌博客搜索收录入口:
http://www.google.com/addurl/
百度收录入口:
http://www.baidu.com/search/url_submit.html
必应Bing收录入口:
https://www.bing.com/toolbox/submit-site-url
360搜索引擎登录入口:
http://info.so.360.cn/site_submit.html
搜狗提交入口:
http://www.sogou.com/feedback/urlfeedback.php
目前,我所知道的就只有,如果你有其他搜索引擎的提交地址,可以在评论区中留下搜索引擎名称和地址,万分感谢!
力扣1219:黄金矿工
2022年02月05日 力扣每日一题
题目
你要开发一座金矿,地质勘测学家已经探明了这座金矿中的资源分布,并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量;如果该单元格是空的,那么就是 0。
为了使收益最大化,矿工需要按以下规则来开采黄金:
每当矿工进入一个单元,就会收集该单元格中的所有黄金。
矿工每次可以从当前位置向上下左右四个方向走。
每个单元格只能被开采(进入)一次。
不得开采(进入)黄金数目为 0 的单元格。
矿工可以从网格中 任意一个 有黄金的单元格出发或者是停止。
示例 1:
输入:grid = [[0,6,0],[5,8,7],[0,9,0]]
输出:24
解释:
[[0,6,0],
[5,8,7],
[0,9,0]]
一种收集最多黄金的路线是:9 -> 8 -> 7。
示例 2:
输入:grid = [[1,0,7],[2,0,6],[3,4,5],[0,3,0],[9,0,20]]
输出:28
解释:
[[1,0,7],
[2,0,6],
[3,4,5],
...
力扣1725:可以形成最大正方形的矩形数目
2022年02月04日 力扣每日一题
题目
给你一个数组 rectangles ,其中 rectangles[i] = [li, wi] 表示第 i 个矩形的长度为 li 、宽度为 wi 。
如果存在 k 同时满足 k
seata1.4.1服务端部署及应用
seata1.4.1服务端部署及应用
springcloud-nacos-seata
分布式事务组件seata的使用demo,AT模式,集成nacos、springboot、springcloud、mybatis-plus、feign,数据库采用mysql
demo中使用的相关版本号,具体请看代码。如果搭建个人demo不成功,验证是否是由版本导致,由于目前这几个项目更新比较频繁,版本稍有变化便会出现许多奇怪问题
seata 1.4.1
spring-cloud-alibaba-seata 2.2.0.RELEASE
spring-cloud-starter-alibaba-nacos-discovery 2.1.1.RELEASE
springboot 2.1.10.RELEASE
springcloud Greenwich.SR4
1. 服务端配置
seata-server为release版本1.4.1,采用docker部署方式
https://github.com/seata/seata/releases/tag/v1.4.1)
1.1 docker拉取镜像
docker ...
力扣1688:比赛中的配对次数
2022年01月25日 力扣每日一题
题目
给你一个整数 n ,表示比赛中的队伍数。比赛遵循一种独特的赛制:
如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛,且产生 n / 2 支队伍进入下一轮。
如果当前队伍数为 奇数 ,那么将会随机轮空并晋级一支队伍,其余的队伍配对。总共进行 (n - 1) / 2 场比赛,且产生 (n - 1) / 2 + 1 支队伍进入下一轮。
返回在比赛中进行的配对次数,直到决出获胜队伍为止。
示例 1:
输入:n = 7
输出:6
解释:比赛详情:
- 第 1 轮:队伍数 = 7 ,配对次数 = 3 ,4 支队伍晋级。
- 第 2 轮:队伍数 = 4 ,配对次数 = 2 ,2 支队伍晋级。
- 第 3 轮:队伍数 = 2 ,配对次数 = 1 ,决出 1 支获胜队伍。
总配对次数 = 3 + 2 + 1 = 6
示例 2:
输入:n = 14
输出:13
解释:比赛详情:
- 第 1 轮:队伍数 = 14 ,配对次数 = 7 ,7 支队伍晋级。
- 第 2 轮:队伍数 = 7 ,配对次数 = 3 ,4 ...
力扣2045:到达目的地的第二短时间
2022年01月24日 力扣每日一题
题目
城市用一个 双向连通 图表示,图中有 n 个节点,从 1 到 n 编号(包含 1 和 n)。图中的边用一个二维整数数组 edges 表示,其中每个 edges[i] = [ui, vi] 表示一条节点 ui 和节点 vi 之间的双向连通边。每组节点对由 最多一条 边连通,顶点不存在连接到自身的边。穿过任意一条边的时间是 time 分钟。
每个节点都有一个交通信号灯,每 change 分钟改变一次,从绿色变成红色,再由红色变成绿色,循环往复。所有信号灯都 同时 改变。你可以在 任何时候 进入某个节点,但是 只能 在节点 信号灯是绿色时 才能离开。如果信号灯是 绿色 ,你 不能 在节点等待,必须离开。
第二小的值 是 严格大于 最小值的所有值中最小的值。
例如,[2, 3, 4] 中第二小的值是 3 ,而 [2, 2, 4] 中第二小的值是 4 。
给你 n、edges、time 和 change ,返回从节点 1 到节点 n 需要的 第二短时间 。
注意:
...
力扣1345:跳跃游戏 IV
2022年01月21日 力扣每日一题
题目
给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。
每一步,你可以从下标 i 跳到下标:
i + 1 满足:i + 1 < arr.length
i - 1 满足:i - 1 >= 0
j 满足:arr[i] == arr[j] 且 i != j
请你返回到达数组最后一个元素的下标处所需的 最少操作次数 。
注意:任何时候你都不能跳到数组外面。
示例 1:
输入:arr = [100,-23,-23,404,100,23,23,23,3,404]
输出:3
解释:那你需要跳跃 3 次,下标依次为 0 --> 4 --> 3 --> 9 。下标 9 为数组的最后一个元素的下标。
示例 2:
输入:arr = [7]
输出:0
解释:一开始就在最后一个元素处,所以你不需要跳跃。
示例 3:
输入:arr = [7,6,9,6,9,6,9,7]
输出:1
解释: ...
力扣2029:石子游戏 IX
2022年01月20日 力扣每日一题
题目
Alice 和 Bob 再次设计了一款新的石子游戏。现有一行 n 个石子,每个石子都有一个关联的数字表示它的价值。给你一个整数数组 stones ,其中 stones[i] 是第 i 个石子的价值。
Alice 和 Bob 轮流进行自己的回合,Alice 先手。每一回合,玩家需要从 stones 中移除任一石子。
如果玩家移除石子后,导致 所有已移除石子 的价值 总和 可以被 3 整除,那么该玩家就 输掉游戏 。
如果不满足上一条,且移除后没有任何剩余的石子,那么 Bob 将会直接获胜(即便是在 Alice 的回合)。
假设两位玩家均采用 最佳 决策。如果 Alice 获胜,返回 true ;如果 Bob 获胜,返回 false 。
示例 1:
输入:stones = [2,1]
输出:true
解释:游戏进行如下:
- 回合 1:Alice 可以移除任意一个石子。
- 回合 2:Bob 移除剩下的石子。
已移除的石子的值总和为 1 + 2 = 3 且可以被 3 整除。因此,Bob 输, ...
力扣219:存在重复元素 II
2022年01月19日 力扣每日一题
题目
给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。
示例 1:
输入:nums = [1,2,3,1], k = 3
输出:true
示例 2:
输入:nums = [1,0,1,1], k = 1
输出:true
示例 3:
输入:nums = [1,2,3,1,2,3], k = 2
输出:false
提示:
1 <= nums.length <= 105
-109 <= nums[i] <= 109
0 <= k <= 105
Related Topics数组哈希表滑动窗口
个人解法
JavaPython3import java.util.HashMap;
import java.util.Map;
...
力扣539:最小时间差
2022年01月18日 力扣每日一题
题目
给定一个 24 小时制(小时:分钟 "HH:MM")的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。
示例 1:
输入:timePoints = ["23:59","00:00"]
输出:1
示例 2:
输入:timePoints = ["00:00","23:59","00:00"]
输出:0
提示:
2
Sublime Text 4 破解
下载地址
https://www.sublimetext.com/download
激活方法
打开在线十六进制编辑器
地址:hexed
打开sublime_text.exe文件
替换
根据版本不同替换不同:
X64版本
4157415656575553B828210000 替换为 33C0FEC0C3575553B828210000
X86版本
55535756B8AC200000 替换为 33C0FEC0C3AC200000
按住Ctrl+F,我这边是64位电脑,在搜索中输入4157415656575553B828210000 ,在替换为输入33C0FEC0C3AC200000,如果替换为无法输入,记得将替换为上一行的启用替换勾选上,然后先查找一下,接下来再点击替换
替换后点击另存为,替换掉原来的文件,保存
输入激活码激活
打开应用
依次点击Help->Enter License
在弹出的窗口输入激活码
激活码如下:
----- BEGIN LICENSE -----
RUYO.net
Unlimited User License
EA7E-8 ...
用nexus部署maven私服
nexus 服务部署
由于本人习惯问题,本次继续用docker部署
查找docker镜像
通过https://hub.docker.com/ 网站查找,选用了官方的sonatype/nexus3
拉取镜像
docker pull sonatype/nexus3
创建宿主机挂载目录并编写docker-compose.yml
执行命令:
vi docker-compose.yml
mkdir nexus-data
docker-compose.yml内容:
version: '3'
services:
nexus3:
container_name: nexus3
image: sonatype/nexus3:latest
environment:
- TZ=Asia/Shanghai
volumes:
- ./nexus-data:/var/nexus-data
po ...
JPA复合主键使用
1、建立带有复合主键的表User
该表使用 username+phone 做为复合组件
create table user
(
username varchar(50) not null,
phone varchar(11) not null,
email varchar(20) default '',
address varchar(50) default '',
primary key (username, phone)
) default charset = utf8
2、java中建立复合主键的实体类
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
@Data
@Entity
public class UserKey implements Serializable {
private String username;
private String ...
python3学习笔记--条件控制用法整理
if
if_stmt ::= "if" assignment_expression ":" suite
("elif" assignment_expression ":" suite)*
["else" ":" suite]
用法:
if EXPRESSION1:
SUITE1
elif EXPRESSION2:
SUITE2
else:
SUITE
常用的操作符:
“<”:小于
“<=”:小于等于
“>”:大于
“>=”:大于等于
“==”:等于
“!=”:不等于
“and”:并且
“or”:或者
with
with_stmt ::= "with" ( "(" with_stmt_contents ","? ")" | with_stmt_co ...