LeetCode-W117 Q1&Q2 100127. 给小朋友们分糖果 给你两个正整数 n 和 limit 。 请你将 n 颗糖果分给 3 位小朋友,确保没有任何小朋友得到超过 limit 颗糖果,请你返回满足此条件下的 总方案数 。 示例 1: 123输入:n = 5, limit = 2输出:3解释:总共有 3 种方法分配 5 颗糖果,且每位小朋友的糖果数不超过 2 :(1, 2, 2) ,(2, 1, 2) 2023-11-12 算法 #leetcode
综合-BFS 综合-BFS lc 2023/11/09每日一题 给你一个下标从 0 开始大小为 m x n 的二维整数数组 grid ,它表示一个网格图。每个格子为下面 3 个值之一: 0 表示草地。 1 表示着火的格子。 2 表示一座墙,你跟火都不能通过这个格子。 一开始你在最左上角的格子 (0, 0) ,你想要到达最右下角的安全屋格子 (m - 1, n - 1) 。每一分钟,你可以移动到 相邻 的 2023-11-09 算法 #杂项
RandomAccessFile RandomAccessFile RandomAccessFile 是 Java 提供的用于读写文件的类,与普通的输入输出流不同的是,RandomAccessFile 具备随机访问文件的能力。 构造方法 RandomAccessFile 的构造方法有两个参数,分别是文件名和访问模式。访问模式有"r"(只读)、“rw”(读写)、“rws”(读写并同步文件内容)、“rwd”(读 2023-11-06 IO #杂项
多线程缓存 多线程缓存 缓存作为当前服务端最常见的技术,若是在单线程前提下,缓存只需要一个HashMap即可,但在多线程的情况下就会出现很多问题 实现Computable 123interface Computable<A, V> { V compute(A args); } V1 1234567891011121314151617181920public cla 2023-11-02 后端 #JUC
排序算法 排序算法 归并排序 稳定的nlogn排序算法,每次将区间分为两半,分别进行排序最后进行合并。 12345678910111213141516171819void mergeSort(int l, int r) { if (l >= r) return; int mid = l + r >> 1; mergeSort(l, mid 2023-10-28 算法 #杂项
多线程爬虫 多线程网络爬虫 给定一个链接 startUrl 和一个接口 HtmlParser ,请你实现一个网络爬虫,以实现爬取同 startUrl 拥有相同 域名标签 的全部链接。该爬虫得到的全部链接可以 任何顺序 返回结果。 你的网络爬虫应当按照如下模式工作: 自链接 startUrl 开始爬取 调用 HtmlParser.getUrls(url) 来获得链接url页面中的全部链接 同一个链接最多只爬取 2023-10-26 后端 #JUC
交替打印字符串 交替打印字符串 编写一个可以从 1 到 n 输出代表这个数字的字符串的程序,但是: 如果这个数字可以被 3 整除,输出 “fizz”。 如果这个数字可以被 5 整除,输出 “buzz”。 如果这个数字可以同时被 3 和 5 整除,输出 “fizzbuzz”。 例如,当 n = 15,输出: 1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, fiz 2023-10-25 后端 #JUC
哲学家进餐问题 哲学家进餐问题 5 个沉默寡言的哲学家围坐在圆桌前,每人面前一盘意面。叉子放在哲学家之间的桌面上。(5 个哲学家,5 根叉子) 所有的哲学家都只会在思考和进餐两种行为间交替。哲学家只有同时拿到左边和右边的叉子才能吃到面,而同一根叉子在同一时间只能被一个哲学家使用。每个哲学家吃完面后都需要把叉子放回桌面以供其他哲学家吃面。只要条件允许,哲学家可以拿起左边或者右边的叉子,但在没有同时拿到左右叉子时不能 2023-10-25 后端 #JUC
一道数位DP题 易变数 们定义以下正整数变形操作。 对于一个正整数 x,如果其二进制表示恰好包含 y 个 1,那么经过一次变形操作后,x将变为 y。 例如,对于正整数13,其二进制表示为 1101,其中恰好包含 3 个 1,所以 13 经过一次变形操作后会变为 3。 如果一个正整数通过上述变形操作变为 1 所需要的最少操作次数恰好为 k,那么就称这个数是一个易变数。 给定一个正整数 n 的不含前导 0 的二进制表 2023-10-07 算法 #杂项
二叉树遍历 二叉树遍历 二叉树作为一种常见的数据结构,对于其遍历也是有很多形式,以下记录部分二叉树遍历. 123456789101112131415/** * Java二叉树表示 * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() { 2023-10-05 算法 #杂项