力扣每日一题1561
题目描述: 解析:贪心,Alice拿最多的是题目要求,那我们想拿最多就要Bob拿最少,所以先排序,让他固定拿最少的三分之一 package January;import java.lang.reflect.Array;import java.util.Arrays;/** * @author hxw * @version 1.0 * @date 2025/1/22 13:18 * @description: 1561. 你可以获得的最大硬币数目 中等 */public class tyenty_two { public static void main(String[] args) { int[] piles = {9,8,7,6,5,1,2,3,4}; int result = Solution.maxCoins(piles); System.out.println(result); } class Solution { public...
力扣每日一题2218
题目描述: 解析:动态规划 package January;import java.util.Arrays;import java.util.List;/** * @author hxw * @version 1.0 * @date 2025/1/21 19:42 * @description: 2218. 从栈中取出 K 个硬币的最大面值和 困难 */public class twenty_one { public static void main(String[] args) { // 创建 List<List<Integer>> 类型的参数 List<List<Integer>> piles = Arrays.asList( Arrays.asList(100, 3) , Arrays.asList(100) ); int k = 2; int result =...
力扣每日一题2239
题目描述: 思路:遍历,基础没什么多说的 package January;/** * @author hxw * @version 1.0 * @date 2025/1/20 21:03 * @description: 2239. 找到最接近 0 的数字 简单 */public class twenty { public static void main(String[] args) { int[] nums = {-4, -1, 1, 2, 3}; int result = Solution.findClosestNumber(nums); System.out.println(result); } class Solution { public static int findClosestNumber(int[] nums) { int result = nums[0]; for...
力扣每日一题2266
题目描述: 解析:动态规划,dp用于存储到当前位置为止的消息数量,循环遍历数组,如果跟前一个字符相同,累加,如果在跟前两个位置的字符相同,再累加,如果是7或9,并且跟前三个字符相同,再累加。 package January;/** * @author hxw * @version 1.0 * @date 2025/1/19 22:02 * @description: 2266. 统计打字方案数 中等 */public class nineteen { public static void main(String[] args) { int result = Solution.countTexts("222222222222222222222222222222222222"); System.out.println(result); } static class Solution { public static int countTexts(String...
力扣每日一题3287
题目描述: 看不懂。之能解析为//前半|运算 ^ 后半|运算。官解用的动态规划 官解: class Solution { public int maxValue(int[] nums, int k) { List<Set<Integer>> A = findORs(nums, k); List<Set<Integer>> B = findORs(reverse(nums), k); int mx = 0; for (int i = k - 1; i < nums.length - k; i++) { for (int a : A.get(i)) { for (int b : B.get(nums.length - i - 2)) { mx = Math.max(mx, a ^ b); ...
Redis入门
Redis数据类型五种常用数据类型介绍 Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型: 字符串 string 哈希 hash 列表 list 集合 set 有序集合 sorted set / zset 各种数据类型的特点 哈希(hash):也叫散列,类似于java中的HashMap结构 列表(list):按照插入顺序排序,可以有从父元素,类似Java中的LinkedList 集合(set):无序集合,没有重复元素,类似于java中的HashSet 有序集合(sorted set / zset):集合中每个元素管理一个粉说,根据分数升序排序,没有重复元素 Redis常用命令字符串操作命令: 命令 解释 SET key value 设置指定key的值 GET key 获取指定key的值 SETEX key seconds value 设置指定key的值,并将key的过期时间设定为seconds秒(短信验证码) SETNX key...
力扣每日一题3097
题目描述: 解析:滑动窗口解决 代码第一版:手写,超时 int ans = Integer.MAX_VALUE; int left = 0; int currentOr = 0; for (int right = 0; right < nums.length; ++right) { currentOr |= nums[right]; // 当前窗口内的或运算结果 >= k 时,尝试收缩窗口 while (currentOr >= k && left <= right) { ans = Math.min(ans, right - left + 1); // 收缩窗口,left 向右移动 left++; // 不能直接从 currentOr 中移除 nums[left] 的影响, ...
力扣每日一题3095
题目描述: 解析:之前做的按位与简单版,直接暴力两重循环,result记录数组长度,如果没有值就为Integer.MAX_VALUE 代码: package January;/** * @author hxw * @version 1.0 * @date 2025/1/16 0:40 * @description: 3095. 或值至少 K 的最短子数组 I 简单 */public class sixteen { public static void main(String[] args) { int result = sixteen.Solution.minimumSubarrayLength(new int[]{1, 2, 3}, 2); System.out.println(result); } class Solution { public static int minimumSubarrayLength(int[] nums, int k)...
SpringBoot启动流程
SpringBoot启动流程 new SpringApplication() 确认web应用类型 加载ApplicattionContextInitializer 加载ApplicationListener 记录主启动类 run() 准备环境兑现Environment,用于加载系统属性 打印Banner 实例化容器Context 准备容器,为容器设置Environment、BeanFactoryPostProcessor,并加载主类对应的BeanDefinition 刷新容器(创建Bean实例) 返回容器 ...
力扣每日一题3066
题目描述: 解析:一开始想的是先做排序,把小于k的放在一个新数组,然后执行合并操作,判断是否大于k,大于拿出新数组,小于的话在排序,再重复操作。如果数组最后剩一个数且小于k,count+1即可。但是时间复杂度太高。想用堆,但是java的堆不熟,抄了官解。 首先来学习Java PriorityQueue(优先队列) PriorityQueue类是一种队列数据结构实现,其中根据优先级处理对象。它与遵循FIFO(先进先出)算法的标准队列不同。优先级队列的头是队列中最小的元素。 Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,这里主要使用PriorityQueue。 在优先级队列中,添加的对象根据其优先级。默认情况下,优先级由对象的自然顺序决定。队列构建时提供的比较器可以覆盖默认优先级。 boolean add(object):将指定的元素插入此优先级队列。如果队列已满,则会引发异常。boolean...