2017百度实习生招聘编程题

这篇博客介绍了百度实习生招聘中涉及的编程题目,包括单词接龙、页面调度算法和短作业优先调度策略。提供了输入输出示例以及思路分析,旨在帮助应聘者理解和解决这类算法问题。
摘要由CSDN通过智能技术生成

题目1:单词接龙

题目描述:拉姆刚开始学习英文单词,对单词排序很感兴趣。如果给拉姆一组单词,他能够迅速确定是否可以将这些单词排列在一个列表中,使得该列表中任何单词的首字母与前一单词的为字母相同。
你能编写一个程序来帮助拉姆进行判断吗?
输入描述:输入包含多组测试数据。对于每组测试数据,第一行为一个正整数n,代表有n个单词。然后有n个字符串,代表n个单词。保证:2<=n<=200,每个单词长度大于1且小于等于10,且所有单词都是由小写字母组成。
输出描述:对于每组数据,输出"Yes"或"No"
输入例子:
3
abc
cdefg
ghijkl
4
abc
cdef
fghijk
xyz
输出例子:
Yes
No

#include <iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;


bool check(const vector<string> &strSet){
    for(int i=0;i<strSet.size()-1;i++){
        char frontChar = strSet[i][strSet[i].size()-1];
        char lastChar = strSet[i+1][0];
        if(frontChar!=lastChar)
            return false;
    }
    return true;
}

int main()
{
    vector<string> strSet;
    int len;
    while(cin>>len){
        for(int i=0;i<len;i++){
            string tmp;
            cin>>tmp;
            strSet.push_back(tmp);
        }
        sort(strSet.begin(),strSet.end());
        if(check(strSet)){
            cout<<"Yes"<<endl;
        }else{
           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值