![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试题
文章平均质量分 52
moomhxy
你若是天才,我便是疯子
展开
-
LeetCode 216周赛题解
这场比赛题目比较简单,真*手速场B题读错题意wa了一发,改了就过了。D题手滑运行点成提交了也wa了一发,,还好改了都过了。5605. 检查两个字符串数组是否相等题意:给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。思路:string直接连接起来比较就ok了。Code:class Solution {public: bool array原创 2020-11-22 22:57:41 · 683 阅读 · 0 评论 -
LeetCode 1115. 交替打印FooBar【互斥量、条件变量】
1115. 交替打印FooBar题意:我们提供一个类:class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { print("bar"); } }}两个不同的线程将会共用一个 FooBar 实例。其中一个原创 2020-11-07 23:46:27 · 288 阅读 · 0 评论 -
LeetCode 1114.按序打印【多线程互斥量】
1114. 按序打印题意:我们提供了一个类:public class Foo {public void first() { print(“first”); }public void second() { print(“second”); }public void third() { print(“third”); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 first() 方法线程 B 将会调用 second() 方法线程 C 将会调用 third() 方法请原创 2020-11-07 23:44:25 · 294 阅读 · 0 评论 -
LeetCode 1114.按序打印【互斥量】
1114. 按序打印题意:我们提供了一个类:public class Foo {public void first() { print(“first”); }public void second() { print(“second”); }public void third() { print(“third”); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 first() 方法线程 B 将会调用 second() 方法线程 C 将会调用 third() 方法请原创 2020-11-02 22:09:53 · 337 阅读 · 0 评论 -
LeetCode 213周赛题解
A-1640. 能否连接形成数组题意:给你一个整数数组 arr ,数组中的每个整数 互不相同 。另有一个由整数数组构成的数组 pieces,其中的整数也 互不相同 。请你以 任意顺序 连接 pieces 中的数组以形成 arr 。但是,不允许 对每个数组 pieces[i] 中的整数重新排序。如果可以连接 pieces 中的数组形成 arr ,返回 true ;否则,返回 false 。思路:由于每个数字都不相同,所以我们只要看每个子数组在arr中是否连续出现即可。Code:class原创 2020-11-02 14:44:44 · 1149 阅读 · 0 评论 -
leetcode 寻找两个正序数组的中位数
题意:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。思路:首先假设两个数组大小分别为n和m,如果(n + m)为奇数的话我们需要找到第(n + m + 1) / 2个元素;如果(n + m)为偶数的话我们需要找到第(n + m) / 2 和 (n + m) / 2 + 1个元素,现在我们定义一个函数来找到两个数组中第k大的原创 2020-11-02 14:43:21 · 172 阅读 · 0 评论 -
LeetCode215. 数组中的第K个最大元素
题意:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。思路:利用快排来完成这个操作,对于某次快排操作后我们可以得到一个下标p,小于p的都位于p的左边,大于p的都位于p的右边。如果p==k,说明正好是我们要寻找的数,返回即可。如果p<k,那么我们就再对右数组进行快排操作。代码:class Solution {public: int slove(vector<int>& nums, in原创 2020-11-02 14:41:48 · 152 阅读 · 0 评论 -
牛客NC93-设计LRU缓存结构
题意设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能:set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1)某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。若opt=1,接下来两个整数x, y,表示set(x, y)若opt=2,接下来一个整数x,原创 2020-08-31 22:09:05 · 277 阅读 · 0 评论