。。。我不是大佬,做的不好。。放一下题目和我的做法

求牛客卫衣,求牛客卫衣,求牛客卫衣

瓜子

下面的代码通过100+80

1.单词逆序

题目描述:对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成,你需要将这些部分逆序。

给定一个原字符串A,请返回逆序后的字符串。例,输入”I am a boy!“输出”boy! a am I“

输入描述:输入一行字符串str。(1<=strlen(str)<=10000)

输出描述:返回逆序后的字符串。

示例1

输入It’s a dog!

输出dog! a It’s

太水了,直接输出就行

#include

#include

using namespace std;

int main(){

// freopen("../in.txt","r",stdin);

string str[10005];

int len=0,i;

while (cin>>str[len++]);

for(i=len-2;i>0;i--){

// cout<

cout<

}

cout<

}

2.字符串全排列

题目描述:对K个不同字符的全排列组成的数组, 面试官从中随机拿走了一个, 剩下的数组作为输入, 请帮忙找出这个被拿走的字符串?

比如[“ABC”, “ACB”, “BAC”, “CAB”, “CBA”] 返回 “BCA”

输入描述:第一行输入整数n,表示给定n个字符串。(n == x!-1,2<=x<=10)

以下n行每行输入一个字符串。

输出描述:输出全排列缺少的字符串。

示例1

输入5

ABC

ACB

BAC

CAB

CBA

输出BCA

。赶着做携程,暴力水了一发过了80%,晚上电话贼多。

我写的暴力做法:把所有全排列放到set,然后去掉所有的输入,剩下的就是

我认为正确的做法:统计每一位的不同字符的个数,出现次数最少的就是需要输出的,然后找完之后输出即可

感觉楼下一位大佬说的很对,使用异或的方法,因为一个数A^A=0,不过应该需要考虑一下长度为2的情况(12,21这个情况两位都是技术),对于更长的数字每一位的个数都是偶数了

//此代码仅通过80%

#include

#include

#include

#include

using namespace std;

set s;

void permutation(char *str, int length) {

sort(str, str + length);

do {

s.insert(str);

} while (next_permutation(str, str + length));

}

int main() {

// freopen("../in.txt","r",stdin);

int n,i;

char str[40];

cin>>n;

cin>>str;

permutation(str,strlen(str));

set::iterator it;

s.erase(str);

// for(it=s.begin();it!=s.end();it++){

// cout<

// }

for(i=1;i

cin>>str;

s.erase(str);

}

cout<

return 0;

}

下面的代码通过100+100+87.5

1.bitcount

位运算进行处理

#include

using namespace std;

#define ll long long

ll NumberOf1(ll n) {

ll ans = 0;

while (n != 0) {

++ans;

n = (n - 1) & n;

}

return ans;

}

int main() {

// freopen("../in.txt","r",stdin);

ll n;

cin>>n;

cout<

}

2.查询满足区间的记录

不是很明白出题人意图,这么出肯定是水题了啊。

#include

using namespace std;

struct node{

int id;

int start,end;

};

bool cmp(node a,node b){

return a.start

}

set s;

int main(){

// freopen("../in.txt","r",stdin);

int n,A,i;

node a[5000];

scanf("%d%d",&n,&A);

for(i=0;i

scanf("%d%d%d",&a[i].id,&a[i].start,&a[i].end);

if(a[i].start<=A&&a[i].end>=A)

s.insert(a[i].id);

}

set::iterator it;

if(s.size()==0){

cout<

}else{

for(it=s.begin();it!=s.end();it++){

cout<

}

}

}

3.LRU Cache

LeetCode上面的题目LeetCode146(这题在更新已有值得时候不会update),今天早上面头条之前刚刚看了一个大佬的写法,头条手写LRU貌似被问烂了,然而我还是这么菜,估计一面凉凉。这个只过了87.5,有点迷

#include

using namespace std;

#define ll long long

class LRUCache {

private:

typedef pair::iterator> PILI;

int capacity;

map datas;

list s;

public:

LRUCache(int capacity) {

this->capacity = capacity;

}

int get(int key) {

auto iter = datas.find(key);

if (iter != datas.end()) {

update(iter);

return iter->second.first;

} else

return -1;

}

void put(int key, int value) {

int length = datas.size();

auto iter = datas.find(key);

if (iter != datas.end()) {

iter->second.first = value;

// update(iter);

} else {

if (length >= capacity) {

datas.erase(s.back());

s.pop_back();

}

s.push_front(key);

datas[key] = PILI(value, s.begin());

}

}

private:

void update(map::iterator iter) {

int key = iter->first;

s.erase(iter->second.second);

s.push_front(key);

iter->second.second = s.begin();

}

};

int main() {

// freopen("../in.txt", "r", stdin);

char oper;

int num1, num2, n;

cin >> n;

LRUCache *lruCache = new LRUCache(n);

while (cin >> oper) {

if (oper == 'p') {

cin >> num1 >> num2;

lruCache->put(num1, num2);

} else if (oper == 'g') {

cin >> num1;

cout << lruCache->get(num1) << endl;

}

}

}

瓜子2019笔试java_2019秋招瓜子携程笔试题解(含题目) 点赞有offer相关推荐

  1. 2019年中兴秋招在线笔试题目

    2019年中兴秋招在线笔试题目 只记得两个编程题: 第一个比较简单,原题是:一位老师获得两个分数列表,同时有两个班的人数.要求是将两个列表进行合并并排序. 第二个中等难度,彩票问题:给出一个彩票列表, ...

  2. 2021秋招总结(内含笔试面试攻略)

    每年都被称为就业最难的一年!!! 因为突如其来的疫情直到2020年6月才返校!!! 笔试面试准备合集 算法面试常考知识点 计算机网络面试常考知识点 Linux面试常考知识点 操作系统面试常考知识点 C ...

  3. 2019河北单招计算机考试模拟试题,2019年河北单招文科数学模拟试题(一)【含答案】.docx...

    2019 2019年河北单招文科数学模拟试题(一)[含答案] .选择题(本大题共 12个小题,每小题5分,共60分) 1.函数厂「I与y=ln(2 - x)的定义域分别为 M.N,则M n N=() ...

  4. 2021.8.12携程笔试第三题:建树游戏DFS

    2021.8.12携程笔试 讨论区 在做最后一题的时候把题意看错了,悔之莫及,故记录此文引以为戒! 建树游戏 问题描述 有n个节点和n-1条边,形成一棵树,每个节点有一个权值.把其中一条边删除就形成了 ...

  5. 携程android开发面试题,2017携程笔试题目

    携程是我国著名的旅游为主的网站,想进入携程工作吗?小编为大家整理了2017携程笔试题目,欢迎阅读参考! 2017携程Web前端实习生招聘笔试题 考察encodeURI encodeURI(), dec ...

  6. 2019届校园秋招——银行笔试

    因为个人的原因,我参加了两种不同银行笔试.一个是没有专业要求的银行柜员岗,另一个是软件开发岗. 银行柜员岗行测相当于弱化版的公务员考试,少一个申论.(某些银行可能会作要求)+英语测试+专业测试(金融+ ...

  7. shl性格测试_德勤2021秋招网申Tips+SHL笔试原题

    德勤校招时间表及对应的提醒 在线网申+线上笔试 2020年7月31日-2020年10月10日 "路人"说:一定一定一定要安排好网申时间--完成网申,即刻收到笔试,同时在收到笔试的5 ...

  8. 2019届华为秋招面试

    其实秋招过去已经很久了,距离我面试华为8.17也快三个月了,有些已经记忆模糊,但是还是想记录一下. 秋招开始的比较早,报了华为的优招,大概7月份收到笔试通知,报的软件测试岗,笔试与软件开发是一样的的, ...

  9. 2019大疆秋招面经(后台开发录用)

    批次:正式秋招 岗位:后台开发 学历:双985硕 时间:2018年8月 一,笔试 1,15道选择,主要是算法和计算机基础,还有几个数学题: 2,填空题,都是分析程序输出结果,基本都是在考指针用法,不同 ...

  10. 记一次CVTE笔试(2018秋招)

    今天参加了CVTE的一次秋招笔试(WEB后台开发工程师),在此稍微记录一下. 笔试给的时间还是很充裕的,比前几天的某某证券的好多了.一共有二十多道题,前面是选择题,后面是两道编程题,和一道设计题. 选 ...

最新文章

  1. java代码实现count排序_java计数排序
  2. 什么是C ++ 11中的lambda表达式?
  3. 【Kafka】Kafka-分区数-备份数-如何设置-怎么确定-怎么修改
  4. JavaScript学习笔记-JSON对象
  5. DICOM:适用范围
  6. 案例分析: SAP BRF+ rule不工作的原因
  7. 知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks
  8. java数据类型转换和数组总结
  9. 那些年踩过的Java异常,简直了!
  10. 微信几亿人在线的点赞、取消点赞系统,用Redis如何实现?
  11. python中fd和rt是什么意思_python中fd()是什么
  12. RocketMQ源码解析-Producer启动
  13. 南京趋势科技面试归来
  14. 智能优化算法:海鸥优化算法-附代码
  15. 【水果识别】基于matlab GUI HSV+RGB水果分类【含Matlab源码 380期】
  16. matlab连接散射点,使用小波散射做信号分类
  17. linux 安装多版本jdk
  18. php 代码分析软件,分析和解析PHP代码的7大工具
  19. 网页导出Word几种方法简介
  20. js让html转excel时间格式,js读取excel中日期格式转换问题

热门文章

  1. 福禄克FLUKE光纤测试仪OTDR OFP系列
  2. “Flash闪存”基础 及 “SD NAND Flash”产品的测试
  3. python创意网络爬虫_python之网络爬虫
  4. 淘宝运营 DSR评分太低的影响 用补单的方法具体操作步骤,提高DSR评分
  5. 【 BlockChain 】零知识证明
  6. JavaScript中的onmouseover事件和onmouseout事件实例
  7. 微信开放平台:网站应用-微信登录
  8. JavaScript 压缩图片
  9. 数字后端概念——MIM cell
  10. Unity【Live Capture】- 关于人脸捕捉的解决方案(一)