
大厂笔试
重you小垃
这个作者很懒,什么都没留下…
展开
-
招商银行-02. 公园规划(笔试)
题目中重点词眼:1:任意两个花坛均可通过小路直接或间接到达。2:共有num-1条边。说明:构成的是一个树,即无环。这道题思路: 由于相连的两个不能种同一个,因此度为m的结点至少需要m+1种不同的种类。这道题就是求最大度,然后+1即可。class Solution {public: int numFlowers(vector<vector<int>>& roads) { int n = roads.size(); unor..原创 2022-04-10 21:04:49 · 681 阅读 · 7 评论 -
智力题整理
面试常见智力题:https://blog.youkuaiyun.com/Inthesilence/article/details/108441871?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165232624216781432964767%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165232624216781432964767&原创 2022-05-12 16:27:02 · 899 阅读 · 0 评论 -
笔试题思考
解法:因为不需要考虑先后次序,所以直接枚举1…n/2个一号大礼包 其他都是二号大礼包,枚举过程中更新即可。原创 2022-04-28 21:47:54 · 323 阅读 · 0 评论 -
笔试2022招商银行.分蛋糕
看到一个盘子里有多少蛋糕,首先想到用二分做。具体思路:a :每个盘子里蛋糕数: i(大于等于2)->a 中a的因子需要的盘子数: 1 - > a/ ib :每个盘子里蛋糕数:j(大于等于2)->b 中b的因子需要的盘子数: 1 - > b/j因此:最少的蛋糕数:min(i, j) 最多的蛋糕数:min(a, b)错误之处:题目说每种蛋糕分到每个盘子里的数量是一样的且最少2个。所以蛋糕分的数量是 最小的因子->a中a的某个因子,不满足二分两边特性...原创 2022-04-08 11:33:11 · 537 阅读 · 0 评论 -
美团笔试.点菜
自己刚开始没思路。。看到n最大到20,小于25,可以想到用二进制dfs做。。。int bits(int n) { int cnt = 0; while (n) { cnt++; n &= (n - 1); } return cnt;}int f(const vector<vector<int>>& nums, int m) { int n = nums.size(), ans = 1; for (int i = 1; i <=..原创 2022-03-18 21:17:28 · 439 阅读 · 0 评论 -
美团笔试.回转寿司
题目:在循环数组上求和最大的子数组。方法一:不是循环时:正常求。是循环时:求出和最小的子数组,sum-该值,就是循环时的子数组最大值#include <bits/stdc++.h>using namespace std;#define len 100005 // 有’#‘ 无 ’=‘int main() { int t, n; cin >> t; int nums[len], dp[len], dp2[len]; while (t--) { int .原创 2022-03-05 14:29:20 · 638 阅读 · 0 评论 -
美团笔试.最大子段和
开始没思路。。。实际上是求两个最大子区间和对于a[i]求:0…i的最大区间和,i+1…n-1的最大区间和,然后相加即可。使用两个dp,分别从前,从后开始,得到区间最大区间和。如果两个区间和都是正数,则相加。如果有一个是负数,则取两者中最大即可。#include <bits/stdc++.h>using namespace std;/*6-1 3 -5 2 -1 3输出7*/int main() { int n; cin >> n; vector&.原创 2022-03-05 15:31:42 · 239 阅读 · 0 评论 -
美团笔试.乘积为正
思路一:dpdp[i][0]表示以nums[i]结尾乘积为-1的个数。dp[i][1]表示以nums[i]结尾乘积为1的个数。原创 2022-03-17 22:32:01 · 176 阅读 · 0 评论