LeetCode-W125 本篇关键词: 树形DP,推导&思维 Q1超过阈值的最少操作数 I 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 一次操作中,你可以删除 nums 中的最小元素。 你需要使数组中的所有元素都大于或等于 k ,请你返回需要的 最少 操作次数。 示例 1: 1234567输入:nums = [2,11,10,1,3], k = 10输出:3解释:第一次操作后,nums 变 2024-03-21 算法 #leetcode
设计模式 设计模式 一份好的代码,离不开好的设计模式。设计模式总共有七大准则,二十多种设计模式都是根据七大准则来编写的。 单一职责 我们尽可能的让一个模块(类)只实现一个功能,在一些复杂的项目中如果一个类实现多个功能的话,那么整体逻辑会狼狈不堪,如果是小demo的话,那么就无所谓了。 开闭原则 软件实体(类、模块或方法)应该对扩展开放,对修改封闭。这意味着在添加新功能时,应该尽量通过扩展现有代码来实 2024-03-20 后端 #设计模式
换跟DP LC310. 最小高度树 树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。 给你一棵包含 n 个节点的树,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表(每一个边都是一对标签),其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条无向边。 可选择树中任何一个节 2024-03-17 算法 #杂项
连通图最小路径个数 LC1976. 到达目的地的方案数 你在一个城市里,城市由 n 个路口组成,路口编号为 0 到 n - 1 ,某些路口之间有 双向 道路。输入保证你可以从任意路口出发到达其他任意路口,且任意两个路口之间最多有一条路。 给你一个整数 n 和二维整数数组 roads ,其中 roads[i] = [ui, vi, timei] 表示在路口 ui 和 vi 之间有一条需要花费 timei 时间才能通过的 2024-03-05 算法 #杂项
LeetCode-376 本场两道题都与中位数有关,个人感觉第三题会比第四题难想一点,本场整体难度中等 Q1 找出缺失和重复的数字 给你一个下标从 0 开始的二维整数矩阵 grid,大小为 n * n ,其中的值在 [1, n2] 范围内。除了 a 出现 两次,b 缺失 之外,每个整数都 恰好出现一次 。 任务是找出重复的数字a 和缺失的数字 b 。 返回一个下标从 0 开始、长度为 2 的整数数组 ans ,其中 a 2024-01-03 算法 #leetcode
LeetCode-375 比较简单的一场,最高rating不到2000 Q1 统计已测试设备 给你一个长度为 n 、下标从 0 开始的整数数组 batteryPercentages ,表示 n 个设备的电池百分比。 你的任务是按照顺序测试每个设备 i,执行以下测试操作: 如果 1batteryPercentages[i] 大于 10 : 增加 已测试设备的计数。 将下标在 [i + 1, n - 1] 的所有设备 2023-12-31 算法 #leetcode
LeetCode-W119 比较简单的一场,前3题rating竟然都没过1600 Q1 找到两个数组中的公共元素 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,它们分别含有 n 和 m 个元素。 请你计算以下两个数值: 统计 0 <= i < n 中的下标 i ,满足 nums1[i] 在 nums2 中 至少 出现了一次。 统计 0 <= i < m 中的下标 i ,满足 nu 2023-12-31 算法 #leetcode
LeetCode-372 Q1 100131. 使三个字符串相等 给你三个字符串 s1、s2 和 s3。 你可以根据需要对这三个字符串执行以下操作 任意次数 。 在每次操作中,你可以选择其中一个长度至少为 2 的字符串 并删除其 最右位置上 的字符。 如果存在某种方法能够使这三个字符串相等,请返回使它们相等所需的 最小 操作次数;否则,返回 -1。 示例 1: 1234输入:s1 = "abc",s2 2023-11-19 算法 #leetcode
二维偏序 二维偏序 2736. 最大和查询 给你两个长度为 n 、下标从 0 开始的整数数组 nums1 和 nums2 ,另给你一个下标从 1 开始的二维数组 queries ,其中 queries[i] = [xi, yi] 。 对于第 i 个查询,在所有满足 nums1[j] >= xi 且 nums2[j] >= yi 的下标 j (0 <= j < n) 中,找出 nums 2023-11-17 算法 #杂项
LeetCode-371 Q1&Q4 100124. 找出强数对的最大异或值 II 给你一个下标从 0 开始的整数数组 nums 。如果一对整数 x 和 y 满足以下条件,则称其为 强数对 : |x - y| <= min(x, y) 你需要从 nums 中选出两个整数,且满足:这两个整数可以形成一个强数对,并且它们的按位异或(XOR)值是在该数组所有强数对中的 最大值 。 返回数组 nums 所有可能的 2023-11-12 算法 #leetcode