友链朋友圈

力扣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 支队伍晋级。 - 第 3 轮:队伍数 = 4 ,配对次数 = 2 ,2 支队伍晋级。- 第 4 轮:队伍数 = 2 ,配对次数 = 1 ,决出 1 支获胜队伍。总配对次数 = 7 + 3 + 2 + 1 = 13 提示: 1 <= n <= 200 Related Topics 数学 模拟 个人解法 {% tabs categories%} class Solution { public int numberOfMatches(int n) { // 总配对次数 int sum = 0; while (n > 1) { if (n % 2 == 1) { ...

avatar 龙儿之家 发表于 2022年01月25日 13:57:48

力扣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 需要的 第二短时间 。 注意: 你可以 任意次 穿过任意顶点,包括 1 和 n 。 你可以假设在 启程时 ,所有信号灯刚刚变成 绿色 。 示例 1:         输入:n = 5, edges = [[1,2],[1,3],[1,4],[3,4],[4,5]], time = 3, change = 5输出:13解释:上面的左图展现了给出的城市交通图。右图中的蓝色路径是最短时间路径。花费的时间是:- 从节点 1 开始,总花费时间=0- 1 -> 4:3 分钟,总花费时间=3- 4 -> 5:3 分钟,总花费时间=6因此需要的最小时间是 6 分钟。右图中的红色路径是第二短时间路径。- 从节点 1 开始,总花费时间=0- 1 -> 3:3 分钟,总花费时间=3- 3 -> 4:3 分钟,总花费时间=6- 在节点...

avatar 龙儿之家 发表于 2022年01月24日 15:22:58

力扣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解释:你可以直接从下标 0 处跳到下标 7 处,也就是数组的最后一个元素处。 示例 4: 输入:arr = [6,1,9]输出:2 示例 5: 输入:arr = [11,22,7,7,7,7,7,7,7,22,13]输出:3 提示: 1 <= arr.length <= 5 * 10^4 -10^8 <= arr[i] <= 10^8 Related Topics 广度优先搜索 数组 哈希表 个人解法 {% tabs categories%} import java.util.*;class Solution { public int minJumps(int[] arr) { if (arr.length == 1) { return 0; } boolean[] use = new boolean[ar...

avatar 龙儿之家 发表于 2022年01月21日 16:26:26

力扣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 输,Alice 获胜。 示例 2: 输入:stones = [2]输出:false解释:Alice 会移除唯一一个石子,已移除石子的值总和为 2 。 由于所有石子都已移除,且值总和无法被 3 整除,Bob 获胜。 示例 3: 输入:stones = [5,1,2,4,3]输出:false解释:Bob 总会获胜。其中一种可能的游戏进行方式如下:- 回合 1:Alice 可以移除值为 1 的第 2 个石子。已移除石子值总和为 1 。- 回合 2:Bob 可以移除值为 3 的第 5 个石子。已移除石子值总和为 = 1 + 3 = 4 。- 回合 3:Alices 可以移除值为 4 的第 4 个石子。已移除石子值总和为 = 1 + 3 + 4 = 8 。- 回合 4:...

avatar 龙儿之家 发表于 2022年01月20日 10:56:54

力扣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 数组 哈希表 滑动窗口 个人解法 {% tabs categories%} import java.util.HashMap;import java.util.Map;class Solution { public boolean containsNearbyDuplicate(int[] nums, int k) { if (k <= 0) { return false; } Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { if (map.containsKey(nums[i]) && i - map.get(nums[i]) <= k) { return true; } map.put(nums[i...

avatar 龙儿之家 发表于 2022年01月19日 11:24:37

ABC 分类法

概述 模型概念

avatar Eurkon 发表于 2022年01月15日 10:00:00

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.netUnlimited User LicenseEA7E-810442300C0CD4A8 CAA317D9 CCABD1AC 434C984C7E4A0B13 77893C3E DD0A5BA1 B2EB721C4BAAB4C4 9B96437D 14EB743E 7DB55D9C7CA26EE2 67C3B4EC 29B2C65A 88D90C59CB6CCBA5 7DE6177B C02C2826 8C9A21B06AB1A5B6 20B09EA2 01C979BD 29670B1992DC6D90 6E365849 4AB84739 5B4C3EA1048CC1D0 9748ED54 CAC9D585 90CAD815------ END LICENSE ------ 点击下方的Use L...

avatar 龙儿之家 发表于 2022年01月14日 15:24:18

用nexus部署maven私服

nexus 服务部署 由于本人习惯问题,本次继续用docker部署 查找docker镜像 通过https://hub.docker.com/ 网站查找,选用了官方的sonatype/nexus3 拉取镜像 docker pull sonatype/nexus3 创建宿主机挂载目录并编写docker-compose.yml 执行命令: vi docker-compose.ymlmkdir 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 ports: - 8081:8081 restart: always 启动容器 docker-compose up -d 浏览器验证 浏览器中输入http://IP:8081/,出现下面的页面启动完成 Nexus 服务的配置 浏览器中点击右上角的登录 登录 首次登录会提示密码保存在**/nexus-data/admin.password**(位置可能会变,看提示) 由于这个目录我们的docker并没有引出来,所以我们要去docker容器内查看 docker exec -it nexus3 /bin/bashcat /nexus-data/admin.password 这地方注意下,cat后不会换行,注意看下密码,用户名是admin,文件中存的就是密码 设置密码 登录...

avatar 龙儿之家 发表于 2022年01月12日 19:52:40

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@Entitypublic class UserKey implements Serializable { private String username; private String phone;} 3、建立表的实体类 在实体类上面使用 @IdClass 注解指定复合主键。同时,需要在 name 和 phone 字段上面使用 @Id 注解标记为主键 import lombok.Data;import javax.persistence.*;@Data@Entity@Table(name = "user")@IdClass(value = UserKey.class)public class User { @Id @Column(nullable = false) private String username; @Id @Column(nullable = false) private String phone; ...

avatar 龙儿之家 发表于 2022年01月05日 15:14:53

RFM 客户分析模型

概述 模型概念

avatar Eurkon 发表于 2022年01月01日 10:00:00