选择题:

对于二分类决策树,属性A有两个属性值,A1属性值两个类别的个数分别为3,0。A2的属性值两个类别的个数分别为4,3。那么A属性的基尼系数值为()。(0.343)

有一个顺序表,长度为n,若要在其中第k(k大于等于1并且小于等于n+1)个元素的位置插入一个新元素,需要移动()。

深度为7的右向单支二叉树用顺序存储方式存储结点,需要分配()个存储单元。

#include<iostream>
using namespace std;class A {public:virtual void fun() {cout << "A::func()" << endl;}virtual ~A() {cout << "~A" << endl;}
};class B : public A {public:void fun() {cout << "B::func()" << endl;}~B() {cout << "~B" << endl;}
};int main()
{A* a = new B;a->fun();delete a;
}
B::func()
~B
~A

编程题:(图片来源于网络)

算式转移


刚看到交换的是相邻的两个数,卒…

代码参考link。

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;int main()
{/*63 + 2 + 1 + -4 * -5 + 1*/int n;cin >> n;vector<char> ops(n);ops[0] = '+';vector<int> nums(n);cin >> nums[0];for (int i = 1; i < n; ++i) {cin >> ops[i];cin >> nums[i];}int l = 0, r = 0;while (r < n) {while (r < n && ops[l] == ops[r])++r;if (ops[l] == '+' || ops[l] == '-') {if ((ops[r] == '*' || ops[r] == '|') && l < r - 1)  // + 3 + 4 + 2 * 5sort(nums.begin() + l, nums.begin() + r - 1);else  // + 3 + 4 + 2 - 5sort(nums.begin() + l, nums.begin() + r);}else if (ops[l] == '*') {if (l > 0 && ops[l - 1] != '/')  // 3 + 4 * 3 * 2sort(nums.begin() + l - 1, nums.begin() + r);else  // 3 / 4 * 3 * 2sort(nums.begin() + l, nums.begin() + r);}else if (ops[l] == '/')  // 4 / 3 / 2 / 5 * 2sort(nums.begin() + l, nums.begin() + r);l = r;r = r + 1;}string res;res += to_string(nums[0]);for (int i = 1; i < n; ++i) {res += ' ';res.push_back(ops[i]);res += ' ' + to_string(nums[i]);}cout << res << endl;return 0;
}

多源D点


通过27%,TLE。

#include<iostream>
#include<vector>
#include<algorithm>
#include <set>
#include <map>
using namespace std;// 计算距离index结点不超过dist距离的所有子结点
void helper(map<int, vector<int>>& dad_son, map<int, set<int>>& res, const int index, int dad, int dist) {if (dad_son.find(dad) == dad_son.end() || dist == 0)return;for (auto son : dad_son[dad]) {res[index].insert(son);helper(dad_son, res, index, son, dist - 1);}return;
}// 计算距离index结点不超过dist距离的所有父结点
void helper(map<int, int>& son_dad, map<int, set<int>>& res, const int index, int son, int dist) {if (son_dad.find(son) == son_dad.end() || dist == 0)return;res[index].insert(son_dad[son]);helper(son_dad, res, index, son_dad[son], dist - 1);return;
}int main()
{int n, m, d;cin >> n >> m >> d;vector<int> target(m);for (int i = 0; i < m; ++i)cin >> target[i];map<int, vector<int>> dad_son;map<int, int> mp;for (int i = 0; i < n - 1; ++i) {int son = i + 2;int dad;cin >> dad;// 一个父节点可能有多个子结点dad_son[dad].push_back(son);// 一个子结点只有一个父节点mp.insert({ son, dad });}map<int, set<int>> res;for (auto num : target) {res[num].insert(num);helper(dad_son, res, num, num, d);helper(mp, res, num, num, d);}// 求交集int ans = 0;for (int i = 1; i <= n; ++i) {bool flag = true;for (auto item : res) {if (item.second.find(i) == item.second.end())flag = false;}if (flag == true)ans += 1;}cout << ans << endl;
}

感受:编程题怎么都这么难…

滴滴2020校招算法笔试 2019.08.27相关推荐

  1. 2020-09-13 滴滴-2021校招在线笔试-DE数据开发试卷

    2020-09-13 滴滴-2021校招在线笔试-DE数据开发试卷 1. D星群岛 题目: D星群岛由n个小岛组成.为了加强小岛居民之间的交流,头目决定启动一个造桥工程,将全部n个岛连接到一起.由于受 ...

  2. 小红书2020校招算法笔试题卷一

    小红书2020校招算法笔试题卷一 字符串倒序 薯队长带着小红薯参加密室逃脱团建游戏,首先遇到了反转游戏,小红薯们根据游戏提示收集了多个单词线索,并将单词按要求加一个空格组 成了句子,最终要求把句子按单 ...

  3. Bilibili 2020校招 后端笔试试卷

    Bilibili后端笔试试卷 第一题:原地翻转字符串,要求空间复杂度O(1),时间复杂度 O(n) AC 100% 代码: import java.util.Scanner;/*** @author ...

  4. 美团点评2020校招笔试 2019.08.22

    算法方向 最长公共前缀 注:图片来源于网络. 参考LeetCode14. Longest Common Prefix. 字符串排序 注:图片来源于网络.代码能通过本地测试,未经完全测试,仅供参考. # ...

  5. 【算法】滴滴-2021校招在线笔试0913 X星文

    X星文翻译 输入: 3 ABCDEFG 输出: CBAFEDG 思路: 看到区间修改值直接就想到了滑动窗口,不过在滑动的时候是以n(区间大小)为单位来滑动: package DiDi;import j ...

  6. 【JAVA】滴滴-2021校招在线笔试-DE数据开发试卷-0913

    目录 前言 一.D星群岛(全A,A了0.82的人考虑一下:四个岛,现在有两条桥1-2 3-4) 代码: 二.毕业旅行(全A) 代码: 前言 兄弟们都会有offer的,不要慌,奥力给 一.D星群岛(全A ...

  7. 快手2020校招笔试题 2019.8.25

    算法A试卷部分编程题 求解字符串表示的一元一次方程. 思路:将等式右侧的表达式左移,即将等号替换为-(,并在最后添加上).然后将表达式的变量X替换为虚数的1j,这样就能通过python的eval函数来 ...

  8. 网易游戏(互娱)2020校招在线笔试-游戏研发

    第一题 小A刚学了二进制,他十分激动.为了确定他的确掌握了二进制,你给他出了这样一道题目:给定N个非负整数,将这N个数字按照二进制下1的个数分类,二进制下1的个数相同的数字属于同一类.求最后一共有几类 ...

  9. 2020校招搜狗笔试

    小狗的 Map 设计 题目描述 现需要设计一个Map<key,val>,满足以下条件 Map 的容量是一个固定值 N,最多保存 N 个记录 当执行插入操作时, 首先查询该 key 是否存在 ...

最新文章

  1. Jvm 系列(六):Java 服务 GC 参数调优案例
  2. Redis序列化配置类
  3. 一款N-沟道耗尽型JFET晶体管 MPF102
  4. JavaScript算法(实例九)整数的置换 / 求s=a+aa+aaa+aaaa+aa...a的值 / 自守数
  5. MariaDB -- 数据类型
  6. C# 重绘tabControl,添加关闭按钮(页签)
  7. 华为手机asph啥机型_2020年最值得买大品牌手机盘点:华为vivo等五款机型入围
  8. VLC解码播放H264文件
  9. Android Framework 音频子系统(02)音频系统框架
  10. Qt编写地图综合应用12-路线查询
  11. 图解PhotoView,从“百草园”到“三味书屋”!
  12. 单元测试总结反思_单元考试反思总结
  13. (收藏)让你从骨子里爱上英文
  14. Android TextView、EditText显示输入法自带表情,记录一下
  15. 2021年知识付费创业新方向该如何掌舵?
  16. 台媒曝大S女儿小名格格吉祥 汪小菲否认
  17. Java基于JSP的网络音乐KTV点歌电台网站
  18. Linux中一句话反弹Shell细说
  19. 微信小程序 云数据库使用(下)
  20. R可视化24|111个实例(下篇代码分享)

热门文章

  1. 线性调频信号MATLAB仿真
  2. json和jsonb类型——PostgreSQL
  3. 开源H5棋牌 cocos creator微信棋牌小游戏 幼麟棋牌客户端分析笔记
  4. 教你如何定位不合理的SQL?并优化之
  5. python dict conver json
  6. Linux·字符设备和杂项设备
  7. 解决网络波动数据传输问题——spring的重试机制@Retryable
  8. JavaFx教程-01初识javaFX
  9. linux 检查openssl,linux – 如何检查OpenSSL中的FIPS 140-2支持?
  10. 数据分析2_使用Tableau进行收视率分析