698. 划分为k个相等的子集
https://leetcode.cn/problems/partition-to-k-equal-sum-subsets/ 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。 示例 1:
输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。
示例 2:
输入: nums = [1,2,3,4], k = 3输出: false
提示:
1 <= k <= len(nums) <= 16
0 < nums[i] < 10000
每个元素的频率在 [1,4] 范围内
# 题解
class Solution {public: bool canPartitionKSubsets(vector<int>& nums, int k) { int all = accumulate(nums.begin(), nums.e ...
1636. 按照频率将数组升序排序
https://leetcode.cn/problems/sort-array-by-increasing-frequency/ 给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。 请你返回排序后的数组。 示例 1:
输入:nums = [1,1,2,2,2,3]输出:[3,1,1,2,2,2]解释:'3' 频率为 1,'1' 频率为 2,'2' 频率为 3 。
示例 2:
输入:nums = [2,3,1,3,2]输出:[1,3,3,2,2]解释:'2' 和 '3' 频率都为 2 ,所以它们之间按照数值本身降序排序。
示例 3:
输入:nums = [-1,1,-6,4,5,-6,1,4,1]输出:[5,-1,4,4,-6,-6,1,1,1]
提示:
1 <= nums.length <= 100
-100 <= nums[i] <= 100
# 题解
class Solut ...
网易游戏开发笔试
时间:2022/9/18 19:00~22:00 四道编程题 一、识别车牌准确度,两个字符串,颜色正确 2 分,区域正确 3 分,五位车牌号最长连续相同字段长度为得分,满分十分。 二、给定每个资源加载依赖项,请求某资源须加载其依赖项,已加载的不会重复加载,使用完毕关闭无依赖项资源,求最多已加载资源数量 三、给出多个矩阵对角坐标,求出拼合图形全部顶点坐标 四、6*6 地图探索,探索过的地图标位 close 不可再次访问,只可向上下左右向量位置移动,初始位置自定义,最多十张地图,一张地图全部 close 可进入下一张,地图中存在怪与金币,人物与怪均存在血量与攻击力,相遇同时攻击,怪物死亡可获得金币并置为 close,人物死亡可花费指定金币复活,血量为初始血量一半,金币点可以获得金币,通关地图可以获得金币,死亡或者全部通关视为人物结束,求任务结束可持有的最多金币数。
827. 最大人工岛
https://leetcode.cn/problems/making-a-large-island/ 给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后,grid 中最大的岛屿面积是多少? 岛屿 由一组上、下、左、右四个方向相连的 1 形成。 示例 1:
输入: grid = [[1, 0], [0, 1]]输出: 3解释: 将一格0变成1,最终连通两个小岛得到面积为 3 的岛屿。
示例 2:
输入: grid = [[1, 1], [1, 0]]输出: 4解释: 将一格0变成1,岛屿的面积扩大为 4。
示例 3:
输入: grid = [[1, 1], [1, 1]]输出: 4解释: 没有0可以让我们变成1,面积依然为 4。
提示:
n == grid.length
n == grid[i].length
1 <= n <= 500
grid [i][j] 为 0 或 1
# 题解
const vector<int> d = {0, -1, 0, 1, 0};class Sol ...
1624. 两个相同字符之间的最长子字符串
https://leetcode.cn/problems/largest-substring-between-two-equal-characters/ 给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符。如果不存在这样的子字符串,返回 -1 。 子字符串 是字符串中的一个连续字符序列。 示例 1:
输入:s = "aa"输出:0解释:最优的子字符串是两个 'a' 之间的空子字符串。
示例 2:
输入:s = "abca"输出:2解释:最优的子字符串是 "bc" 。
示例 3:
输入:s = "cbzxy"输出:-1解释:s 中不存在出现出现两次的字符,所以返回 -1 。
示例 4:
输入:s = "cabbac"输出:4解释:最优的子字符串是 "abba" ,其他的非最优解包括 "bb" 和 "" 。
提示:
1 <= s.length <= 30 ...
深信服一面二面
时间:2022/9/16 19:55~20:55 自我介绍 编程题:二维矩阵最长下降路径 dfs + 剪枝,折磨,但面试官疯狂引导 反问 2022/9/19 20:10~20:40 自我介绍 int a [5] sizeof (a) sizeof (a [0]) sizeof (&a) sizeof (&a [0]) 链表倒数第 k 个节点 深拷贝 浅拷贝 析构函数能不能重载 项目 反问
850. 矩形面积 II
https://leetcode.cn/problems/rectangle-area-ii/ 我们给出了一个(轴对齐的)二维矩形列表 rectangles 。 对于 rectangle [i] = [x1, y1, x2, y2],其中(x1,y1)是矩形 i 左下角的坐标, (xi1, yi1) 是该矩形 左下角 的坐标, (xi2, yi2) 是该矩形 右上角 的坐标。 计算平面中所有 rectangles 所覆盖的 总面积 。任何被两个或多个矩形覆盖的区域应只计算 一次 。 返回 总面积 。因为答案可能太大,返回 \(10^9 + 7\) 的 模 。 示例 1:
输入:rectangles = [[0,0,2,2],[1,0,2,3],[1,0,3,1]]输出:6解释:如图所示,三个矩形覆盖了总面积为6的区域。从(1,1)到(2,2),绿色矩形和红色矩形重叠。从(1,0)到(2,3),三个矩形都重叠。
示例 2:
输入:rectangles = [[0,0,1000000000,1000000000]]输出:49
解释:答案是 \(10^{18} 对 (10^9 + 7) ...
672. 灯泡开关 Ⅱ
https://leetcode.cn/problems/bulb-switcher-ii/ 房间中有 n 只已经打开的灯泡,编号从 1 到 n 。墙上挂着 4 个开关 。 这 4 个开关各自都具有不同的功能,其中: 开关 1 :反转当前所有灯的状态(即开变为关,关变为开) 开关 2 :反转编号为偶数的灯的状态(即 2, 4, …) 开关 3 :反转编号为奇数的灯的状态(即 1, 3, …) 开关 4 :反转编号为 j = 3k + 1 的灯的状态,其中 k = 0, 1, 2, …(即 1, 4, 7, 10, …) 你必须 恰好 按压开关 presses 次。每次按压,你都需要从 4 个开关中选出一个来执行按压操作。 给你两个整数 n 和 presses ,执行完所有按压之后,返回 不同可能状态 的数量。 示例 1:
输入:n = 1, presses = 1输出:2解释:状态可以是:- 按压开关 1 ,[关]- 按压开关 2 ,[开]
示例 2:
输入:n = 2, presses = 1输出:3解释:状态可以是:- 按压开关 1 ,[关, 关]- 按压开关 2 ,[开, 关] ...
蚂蚁
时间:2022/9/15 19:00~20:30 题目:六道单选题 六道不定项选择题 三道编程题 一、忘了,ac 了。 二、树的节点初始权值为 1,每次可使一颗子树全部节点权值加一,根节点编号为 1,求使所有节点权值等于编号的最少操作次数 三、求字符串中有多少子串符合有且仅有一个字符为奇数个,其余均为偶数个。
小米
时间:2022/9/14 18:30~20:00 题目:11 道单选 9 道多选 2 道编程 一、翻转链表 left 位到 right 位 二、二叉搜索树转中序遍历双向链表