面试题目
文章平均质量分 62
小果果学长
手比脚笨,不停探寻.
展开
-
lc23. 合并K个升序链表
合并K个升序链表,每个链表的长度不一致。可以利用优先队列的性质进行编程。请你将所有链表合并到一个升序链表中,返回合并后的链表。这是一道面试算法题,好久没有练习。给你一个链表数组,每个链表都已经按升序排列。首先定义优先队列的排序方式,根据节点进行排序。核心代码:每次弹出最小的元素,依次往后排序。遍历整个优先队列,直到队列为空。原创 2023-03-11 12:52:09 · 429 阅读 · 0 评论 -
C基础知识
请找出下面代码中的所有错误 (题目不错,值得一看),说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”答:一共有4个错误;原创 2022-11-29 14:03:49 · 400 阅读 · 0 评论 -
lc1175. 质数排列|全排列|质数
从今天开始要每天刷题了哦,加油。这个题目比较简单,浅浅地记录一下吧。就是全排列,判断质数即可,注意取模,hh。原创 2022-06-30 23:43:00 · 204 阅读 · 0 评论 -
LC169. 多数元素
力扣题目描述给定一个大小为 n 的数组nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入:nums = [3,2,3]输出:3示例2:输入:nums = [2,2,1,1,1,2,2]输出:2提示:n == nums.length1 <= n <= 5 * 104-109 <= nums[i] <= 109进阶:...原创 2022-05-11 23:53:26 · 501 阅读 · 0 评论 -
ThreadPoolExecutor中的keepAliveTime到底是什么意思?
学习ThreadPoolExecutor的时候,像corePoolSize、maximumPoolSize都是比较好理解的,另外还有一个参数keepAliveTime,调查了很多资料,终于明白了。很多解释说:keepAliveTime是线程池中空闲线程等待工作的超时时间。这个确实是没有错误的,但是就是理解不了对吧。直到我看到了一句话,“比如说线程池中最大的线程数为50,而其中只有40个线程任务在跑,相当于有10个空闲线程,这10个空闲线程不能让他一直在开着,因为线程的存在也会特别好资源的,所有就需要原创 2022-04-05 16:56:54 · 6124 阅读 · 0 评论 -
leetcode146. LRU 缓存(C++|数据结构|双链表|哈希表)
力扣题目描述请你设计并实现一个满足LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类:LRUCache(int capacity) 以 正整数 作为容量capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value)如果关键字key 已经存在,则变更其数据值value ;如果不存在,则向缓存中插入该组key-value ...原创 2022-03-16 00:19:30 · 428 阅读 · 0 评论 -
LC230. 二叉搜索树中第K小的元素(C++|中序遍历|优化|面试)
题目描述给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第k个最小元素(从 1 开始计数)。示例 1:输入:root = [3,1,4,null,2], k = 1输出:1示例 2:输入:root = [5,3,6,2,4,null,null,1], k = 3输出:3提示:树中的节点数为 n 。1 <= k <= n <= 1040 <= Node.val <= 104...原创 2022-03-15 19:14:17 · 127 阅读 · 0 评论 -
leetcode79. 单词搜索(C++|递归|深搜|技巧|天坑)
https://leetcode-cn.com/problems/word-search题目描述给定一个m x n 二维字符网格board 和一个字符串单词word 。如果word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例 1:输入:board = [["A","B","C","E"],["S","F","C","...原创 2022-03-14 23:47:37 · 156 阅读 · 0 评论 -
lc240. 搜索二维矩阵 II(C++|二分|思维|面试)
力扣题目描述编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例 1:输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5输出:true示例 2:输入:matrix = [[1,4,7,11,15],[2...原创 2022-03-12 21:24:13 · 147 阅读 · 0 评论 -
JZ9. 用两个栈实现队列(C++|模拟)
用两个栈实现队列_牛客题霸_牛客网描述用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。数据范围:n\le1000n≤1000要求:存储n个元素的空间复杂度为O(n)O(n),插入与删除的时间复杂度都是O(1)O(1)示例1输入:["PSH1","PSH2","POP","POP"]复制返回值:1,2复制...原创 2022-03-12 19:36:29 · 153 阅读 · 0 评论 -
数学思维1-金字塔
题目链接:金字塔_牛客题霸_牛客网题目描述众所周知,金字塔是一层一层堆砌而成。如下图,金字塔的最顶层有一个点,第二层有三个点,第三层有六个点,以此类推……有一个无限大的金字塔,前nn层一共有多少个点?答案请对10^9+7取模。示例1输入:4复制返回值:20复制说明:前四层的点数量为 1 + 3 + 6 +10 = 20 果果念又是调了很长时间bug的一道题目,一开始看错题目了,第四层怎么也不知道怎么是10,原来是1+2+3+...原创 2022-03-05 21:20:47 · 644 阅读 · 0 评论 -
【面试】如果你这样回答“什么是线程安全”,面试官都会对你刮目相看
本文转载自【面试】如果你这样回答“什么是线程安全”,面试官都会对你刮目相看,这篇文章讲解的通俗易懂,尤其是对于堆和栈以及内存空间的比喻,形象生动。下面我只配一张图,供大家理解。图源:Java 虚拟机 | CS-Notes以下是文章原文:有读者跟我说,喜欢看我的文章,说很容易读,我确实在易读性上花费的心思不亚于在内容上。因为我不喜欢一上来就堆很多东西,而且把简单的东西搞得复杂人人都会,但是把复杂的东西讲的简单,确实需要非常多的思考。不是线程的安全面试官问:“什么是线程安全”,...转载 2022-03-04 23:23:57 · 124 阅读 · 0 评论