拼多多笔试 拼多多笔试0420多多的游戏贪心+多路选择 对每个字符串 Si,提取其字符并按字典序排序,只保留前 Xi 个最小的字符。 将所有保留的字符放到一个总候选池中。 对这个大池子进行字典序排序,选前 K 个字符,拼成字符串 T。 12345678910111213141516171819202122import java.util.*;// 注意类名必须为 Main, 不要有任何 package xx 2025-05-09 算法笔记 > 笔试真题 #贪心 #二分查找 #拓扑排序
百度笔试真题 百度笔试0315数组删除哈希表用哈希表统计出每个数字的出现次数,然后将出现次数在[l,r]范围内的数字加到集合中,再重新构造数组,出现在集合中的不再添加入结果。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import java.ut 2025-03-19 算法笔记 > 笔试真题 #贪心 #哈希表
携程笔试 携程笔试0313诗模拟12345678910111213import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); 2025-03-18 算法笔记 > 笔试真题 #贪心 #并查集
京东笔试真题 京东笔试0315数组价值分析比较最大元素-第二小元素和第二大元素-最小元素,取较小值。 12345678910111213141516171819202122import java.util.*;public class Main { public static void main (String[] args) { Scanner sc = new Sca 2025-03-17 算法笔记 > 笔试真题 #哈希表 #排序
美团笔试真题 美团笔试0308小牛的文本加密模拟123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import java.util.*;public class Main { public static void main(String[ 2025-03-16 算法笔记 > 笔试真题 #哈希表 #排序
面试经典 150 题-动态规划 LeetCode 面试经典 150 题-动态规划打家劫舍动态规划 定义状态:dp[i]表示当前能够偷盗的最大金额。 状态转移:dp[i] = max(dp[i-1], dp[i-2] + nums[i])。 初始条件:dp[0] = nums[0]。 返回结果:dp[n-1]。 空间优化:可以用两个变量代替dp[i-1]和dp[i-2]。 1234567891011class 2025-03-09 算法笔记 > 动态规划 #动态规划
面试经典 150 题-数学 LeetCode 面试经典 150 题-数学回文数分析反转整数,再进行比较。 123456789101112131415class Solution { public boolean isPalindrome(int x) { // 边界处理,负数一定不是回文数 if (x < 0) { return fa 2025-03-07 算法笔记 > 数学 #数学
面试经典 150 题-位运算 LeetCode 面试经典 150 题-位运算二进制求和位运算逐位相加,标记进位。 123456789101112131415161718192021222324252627class Solution { public String addBinary(String a, String b) { // a是较长字符串 int m = a.le 2025-03-05 算法笔记 > 位运算 #位运算
面试经典 150 题-堆 LeetCode 面试经典 150 题-堆数组中的第K个最大元素堆排序 建立一个大小为K的最小堆。 遍历数组中的剩余元素,如果它大于堆顶元素,则将堆顶元素删除,将当前元素加入。 最后堆顶元素就是第k个最大元素。 堆操作: minHeapify(int[] nums, int index, int heapSize) 获取左右子树索引,初始化最小索引为当前元素; 如果左子节点存在且小于当前节点, 2025-03-02 算法笔记 > 堆 #堆
面试经典 150 题-二分查找 LeetCode 面试经典 150 题-二分查找搜索插入位置二分查找1234567891011121314151617class Solution { public int searchInsert(int[] nums, int target) { int n = nums.length; int left = 0, right = n - 2025-02-28 算法笔记 > 二分查找 #二分查找