排序算法 排序算法 归并排序 稳定的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 算法 #杂项
差分&二分 LC2251 给你一个下标从 0 开始的二维整数数组 flowers ,其中 flowers[i] = [starti, endi] 表示第 i 朵花的 花期 从 starti 到 endi (都 包含)。同时给你一个下标从 0 开始大小为 n 的整数数组 people ,people[i] 是第 i 个人来看花的时间。 请你返回一个大小为 n 的整数数组 answer ,其中 answer[i] 2023-09-29 算法 #杂项
迟到的双向广搜 双向广搜 这个算法很早之前就了解过了,一直没有写过,今天重新学习一遍。 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> ... -> sk: 每一对相邻的单词只差一个字母。 对于 1 <= i <= k 时,每个 si 都在 wordList 2023-09-26 算法 #杂项
一道数据结构题 LRU和LFU LRU作为常用的缓存策略,LFU也是一种缓存策略。两者的代码实现均可采用LinkedHashSet(map)或双向链表来实现。 LRU LinkedHashSet 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354class LRUCa 2023-09-25 算法 #杂项
计算机网络 计算机网络 七层/五层模型 七层模型(OSI)为ISO标准指定的,五层模型通常是指TCP/IP五层模型。 OSI 功能 协议 物理层 定义物理设备标准,完成比特流在物理设备上的传输 数据链路层 点对点之间可靠连接,差错控制,建立维持拆除,传输的是帧 ARQ,PPP,CSMA/CD 网络层 路由选择,网络地址划分,拥塞控制,网络互联,传输的是ip数据包 IP,ARP,OSP 2023-09-25 #网络