剑心互娱笔试
时间:2022/9/27 00:00~2022/9/28 23:55 两小时随到随答 四道编程题 一、赛车游戏,给定 uint_8 数组,0 代表空位,1 代表障碍,初始可从第一行任意空白位置,可以任意向左右空白移动,若任意移动后下一行都不为 0,则游戏失败,返回可到达最大行数。 二、水池蓄水,给定水池容量 m,进出水口会在给定时间切换状态,进水口每分钟进水 m1,每 t1 分钟切换状态,出水口每分钟出水 m2,每 t2 分钟切换状态,若同时打开则为 m1-m2,初始水池为空,水池最多容纳 m,初始进出水口均为打开,求 t 分钟后水池中的水有多少。AC 三、给定三角形三个顶点坐标,求坐标系中和三角形有相交的格数(1*1) 四、有 1-9 种积木及四种收纳盒 1 号收纳盒:4 个 1 号格子,1 个 2 号格子,1 个 3 号格子 价值 10 元 2 号收纳盒:1 个 6 号格子,1 个 2 号格子,1 个 1 号格子 价值 9 元 3 号收纳盒:1 个 4 号格子,1 个 5 号格子 价值 8 元 4 号收纳盒:1 个 9 号格子 价值 7 元 给定积木数量 n,及积木种类,每个积木只 ...
同花顺笔试
时间:2022/9/26 10:00~19:00 三十道题目 简答 代码阅读 编程 选择 共三十道 好多好累。。。
面试题 17.19. 消失的两个数字
https://leetcode.cn/problems/missing-two-lcci/ 给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字。你能在 O (N) 时间内只用 O (1) 的空间找到它们吗? 以任意顺序返回这两个数字均可。 示例 1:
输入: [1]输出: [2,3]
示例 2:
输入: [2,3]输出: [1,4]
提示:
nums.length <= 30000
# 题解
class Solution {public: vector missingTwo(vector<int>& nums) { long n = nums.size() + 2; int a = -accumulate(nums.cbegin(), nums.cend(), -(1 + n) * n / 2); int b = -inner_product(nums.cbegin(), nums.cend(), nums.cbegin(), -(1 + n) * n / 2 * (2 ...
788. 旋转数字
https://leetcode.cn/problems/rotated-digits/ 我们称一个数 X 为好数,如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数。要求每位数字都要被旋转。 如果一个数的每位数字被旋转以后仍然还是一个数字, 则这个数是有效的。0, 1, 和 8 被旋转后仍然是它们自己;2 和 5 可以互相旋转成对方(在这种情况下,它们以不同的方向旋转,换句话说,2 和 5 互为镜像);6 和 9 同理,除了这些以外其他的数字旋转以后都不再是有效的数字。 现在我们有一个正整数 N, 计算从 1 到 N 中有多少个数 X 是好数? 示例:
输入: 10输出: 4解释: 在[1, 10]中有四个好数: 2, 5, 6, 9。注意 1 和 10 不是好数, 因为他们在旋转之后不变。
提示:
N 的取值范围是 [1, 10000]。
# 题解
class Solution {public: map<int,int> m; bool is(int n){ bool flag ...
恒生笔试
首先,这个在线程序编辑器奇奇怪怪的,吐槽一波。 时间:2022/9/24 18:00~22:00 两小时随来随考 题目: 基础知识不定项选择 10 道 语言知识不定项选择 5 道 数据库 sql5 道 编程题两道 一、给出三种转账渠道 三档金额对应的手续费 及 到账所需时间,根据给定的金额及最晚到账时间选择最优的渠道方案 二、给定一个正整数,求其是否是质数,若不为质数,请返回构成这个数的指数因子 ps:没有输入输出样例,题目对于输入描述不清晰,对输出格式说明也不明了。
1652. 拆炸弹
https://leetcode.cn/problems/defuse-the-bomb/ 你有一个炸弹需要拆除,时间紧迫!你的情报员会给你一个长度为 n 的 循环 数组 code 以及一个密钥 k 。 为了获得正确的密码,你需要替换掉每一个数字。所有数字会 同时 被替换。 如果 k > 0 ,将第 i 个数字用 接下来 k 个数字之和替换。 如果 k <0 ,将第 i 个数字用 之前 k 个数字之和替换。 如果 k == 0 ,将第 i 个数字用 0 替换。 由于 code 是循环的, code [n-1] 下一个元素是 code [0] ,且 code [0] 前一个元素是 code [n-1] 。 给你 循环 数组 code 和整数密钥 k ,请你返回解密后的结果来拆除炸弹! 示例 1:
输入:code = [5,7,1,4], k = 3输出:[12,10,16,13]解释:每个数字都被接下来 3 个数字之和替换。解密后的密码为 [7+1+4, 1+4+5, 4+5+7, 5+7+1]。注意到数组是循环连接的。
示例 2:
输入:code = [1,2,3,4], ...
伴鱼笔试
时间:2022/9/23 16:00 四道编程题 一、简单题。给定十以内的正整数 n,m;求从一到 n 选任意个 数字 ,使这些数字和为 m;按字典序输出所有组合 二、简单题。输入两个有序序列,输出一个有序序列 三、中等题。求矩阵从左上到右下最小路径和 四、困难题。给定长度小于 100000 的字符串 A,B,求出将 B 插入 A 后所得字符串为回文的方案数
707. 设计链表
https://leetcode.cn/problems/design-linked-list/ 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针 / 引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类中实现这些功能: get (index):获取链表中第 index 个节点的值。如果索引无效,则返回 - 1。 addAtHead (val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。 addAtTail (val):将值为 val 的节点追加到链表的最后一个元素。 addAtIndex (index,val):在链表中的第 index 个节点之前添加值为 val 的节点。如果 index 等于链表的长度,则该节点将附加到链表的末尾。如果 index 大于链表长度,则不会插入节点。如果 index 小于 0,则在头部插入节点。 deleteAt ...
1640. 能否连接形成数组
https://leetcode.cn/problems/check-array-formation-through-concatenation/ 给你一个整数数组 arr ,数组中的每个整数 互不相同 。另有一个由整数数组构成的数组 pieces,其中的整数也 互不相同 。请你以 任意顺序 连接 pieces 中的数组以形成 arr 。但是,不允许 对每个数组 pieces [i] 中的整数重新排序。 如果可以连接 pieces 中的数组形成 arr ,返回 true ;否则,返回 false 。 示例 1:
输入:arr = [15,88], pieces = [[88],[15]]输出:true解释:依次连接 [15] 和 [88]
示例 2:
输入:arr = [49,18,16], pieces = [[16,18,49]]输出:false解释:即便数字相符,也不能重新排列 pieces[0]
示例 3:
输入:arr = [91,4,64,78], pieces = [[78],[4,64],[91]]输出:true解释:依次连接 [91]、[4,64] 和 [78]
提 ...
854. 相似度为 K 的字符串
https://leetcode.cn/problems/k-similar-strings/ 对于某些非负整数 k ,如果交换 s1 中两个字母的位置恰好 k 次,能够使结果字符串等于 s2 ,则认为字符串 s1 和 s2 的 相似度为 k 。 给你两个字母异位词 s1 和 s2 ,返回 s1 和 s2 的相似度 k 的最小值。 示例 1:
输入:s1 = "ab", s2 = "ba"输出:1
示例 2:
输入:s1 = "abc", s2 = "bca"输出:2
提示:
1 <= s1.length <= 20
s2.length == s1.length
s1 和 s2 只包含集合 {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’} 中的小写字母
s2 是 s1 的一个字母异位词
# 题解
class Solution {public: int kSimilarity(string s1, string s2) { int n ...