校园招聘-2017滴滴研发工程师内推笔试编程题
笔试题型:10道问答 + 10道智力题 + 2道编程
时间:共120min
1. 给定整数序列求连续子串最大和
题目描述
给定无序整数序列,求连续子串最大和,例如{-23,17,-7,11,-2,1,-34},子串为{17,-7,11},最大和为21。
时间空间限制
时间限制:1s
空间限制:32768K
输出输出描述
- 输入描述:
输入为整数序列,数字用空格分开,如:-23 17 -7 11 -2 1 -34
- 输出描述:
输出为子序列的最大和:21
代码(C++)
#include <iostream>
#include <vector>using namespace std;int maxSubArray(vector<int>& nums)
{int sum=nums[0];int res=nums[0];for(int i=1; i<nums.size(); i++){sum=max(sum+nums[i],nums[i]);res=max(res,sum);}return res;
}int main()
{vector<int> nums;int x;while(cin >> x)nums.push_back(x);cout << maxSubArray(nums) << endl;return 0;
}
2. 整数无序数组求第K大数
题目描述
给定无序整数序列,求其中第K大的数。例如{45, 67, 33, 21},第2大数为55。
时间空间限制
时间限制:1s
空间限制:32768K
输出输出描述
- 输入描述:
输入第一行为整数序列,数字用空格分开,如:45 67 33 21
输入第二行一个整数K,K在数组长度范围内,如:2
- 输出描述:
输出第K大的数,本例为第2大数:45
代码(C/C++)
- C++实现
#include <iostream>
#include <vector>
#include <queue>
using namespace std;int findKthLargest(vector<int>& nums, int k)
{priority_queue<int> pq;for(int i=0; i<nums.size(); i++){pq.push(nums[i]);}for(int i=0; i<k-1; i++)pq.pop();return pq.top();
}int main()
{vector<int> nums;int x;while(cin>>x){nums.push_back(x);}int k=nums[nums.size()-1];nums.erase(nums.end()-1);cout<<findKthLargest(nums, k)<<endl;return 0;
}
- C实现(由于数组长度限制,测试用例只通过60%)
#include <stdio.h>
#include <stdlib.h>#define MAX 10000int FindKthNum(int *str, int n, int K);int main()
{//数据输入int input[MAX];int i = 0;while (scanf("%d", &input[i]) != EOF && getchar() != '\n'){i++;}int K;scanf("%d", &K);//简单比较排序int res = FindKthNum(input, i, K);printf("%d", res);return 0;
}int FindKthNum(int *str, int n, int K)
{int i, j, temp;for (i = 0; i < n - 1; i++){if (K == (i + 1)){break;}for (j = i + 1; j < n; j++){if (str[j] > str[i]){temp = str[i];str[i] = str[j];str[j] = temp;}}}return str[i - 1];
}
2017.08.26
校园招聘-2017滴滴研发工程师内推笔试编程题相关推荐
- 2018CVTE后台研发工程师内推笔试编程题2
使用BFS的思想,遍历所有可能的分割情况,求出最接近的数字. 代码: import java.util.*;public class Main {public static void main(Str ...
- OPPO 2019校园招聘C/C++开发工程师(手机方向) 笔试编程题-2018.09.10
思路: 1. 分割字符串,提取数字 2. multimap存储 3. 遍历找到相应结果输出 #include <iostream> #include <map> #includ ...
- 2018滴滴校招(秋招)内推笔试编程题题解
package 内推笔试;import java.util.Arrays; import java.util.Scanner;/*** Created by liuming on 2017/8/26. ...
- 【牛客网】网易2017内推笔试编程题合集(二)
1.[*][编程题] 混合颜料 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料.为了让问题简单,我们用正整数表示不同颜色的颜料.你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买 ...
- 360集团2016JAVA研发工程师内推笔试题
360集团2016JAVA研发工程师内推笔试题 题目来源:牛客网 https://www.nowcoder.com/test/question/analytic?tid=21122281 1.执行以下 ...
- 好未来23届校园招聘开始了~靠谱内推
朋友们!!好消息: 好未来2023校园招聘正式开始,我是好未来的推星官! 好未来内推链接: https://neitui-h5.zhiyinlou.com/share_list/??_dt_no_co ...
- 百度 2019校园招聘 计算机视觉算法研发工程师
1, 对任意数列进行排序时,平均排序时间最短的排序算法为 A A 快速排序 B 堆排序 C 归并排序 D 插入排序 2. 下列编译方法中,属于自底向上语法分析法有哪些 CD A 递归下降分析 B 预测 ...
- 2014阿里巴巴校园招聘笔试题-----研发工程师
1.一次内存访问.SSD硬盘访问和SATA硬盘随机访问的时间分别约是() A.几微秒,几毫秒.几十毫秒 B.几十纳秒,几十毫秒,几十毫秒 C.几十纳秒.几十微秒.几十毫秒 D.几微秒.几十微秒.几十毫 ...
- 2018拼多多内推校招编程题
最大乘积 时间限制:1秒 空间限制:32768K 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度: O(n),空间复杂度:O(1) 输入描述: 无序整数数 ...
- 【面经】外企德科-华为精英研发项目-笔试编程题
微信搜索:编程笔记本.获取更多干货! 微信搜索:编程笔记本.获取更多干货! 点击上方蓝字关注我,我们一起学编程 欢迎小伙伴们分享.转载.私信.赞赏 今天来看一道"外企德科-华为精英研发项目& ...
最新文章
- recyclervie刷新到底部_RecyclerView底部刷新实现详解
- 本科阶段计算机专业的科学体系,【学习方法】一位大三本科生的计算机科学与技术学习反思录...
- 如何检测VC运行库是否安装
- 创建 VSTO 工作簿的 ClickOnce 安装包
- HTML5如何实现网页消息通知提醒
- Word 【域】学习笔记
- 计算机基础——4.1 数字通信入门
- 我的团长我的团可能的故事原现
- python爬虫表格table_Python基于pandas爬取网页表格数据
- 四阶段:第24周 微服务下Sentinel流量防控卫兵 apollo相关配置 一般有用
- 多端异构数据集成方案
- 工业过程控制领域中通信
- [2020/02]林深时见鹿,溪午不闻钟
- 用Google搜索本地硬盘
- 【Leetcode】Coin Change
- HCIP第十七天笔记
- 软件管理测试工具-ALM/QC
- 学习groupby-agg用法
- Java实现 LeetCode 374 猜数字大小
- 安川H1000变频器调试
热门文章
- 【难题】动态规划 NOI 162:Post Office 7624:山区建小学——找状态方程有点难 思路详细
- 开发工业软件需要什么人员_当我开始成为软件开发人员时,我希望知道什么
- 开源系统Linux主内核源代码存放在,Linux 下查看开源软件或操作系统的源代码(转)...
- 定位系统可以触电5G了吗?
- vue手写动画效果和animate库的使用
- jmeter的教学视频
- 转 微架构设计 微博计数器的设计
- 基于单片机的高精度厚度测量系统设计
- red blooded woman
- 【计算机网络】到底IPv4有多少个地址、地址总数