微软笔试简易题解

这次还是挺简单的,比上次实习笔试简单多了。。上次实习笔试简直就在做acm金牌题。。

1.

题意:给你一个长度为偶数的递增的序列 a ,原始的序列保证 a[1] = a[n], a[2] = a[n-1], ..., a[i] = a[n-i],现在拿掉其中一个元素,问你拿掉的那个元素是多少。
解:拿前半部分二分就好了

2.

题意:有一个空格分割的若干个单词组成的字符串,现在有一个n表示对每个单词做n次顺时针旋转,现在给你旋转之后的的字符串,问有多少个单词在原来的字符串和旋转之后的字符串中一致。比如n=2, 字符串="ba def adad",那么显然旋转之前的字符串是"ba fde adad",所以有2个单词和原来一致。
解:模拟一下就好了,用python写特别简单。

3.

题意:给你一个J和K组成的字符串,要求改变其中的若干个字符,使得:1) J和K的数量一致 2) 从左到右,K的数量始终多余J的数量。问你最少需要改变几个字符。比如KKJJ、KJKJ、KKJJKJ都是合法的,但JK、KJJK、KKJ都是不合法的。
解:显而易见的dp。设 dp[i][j] 表示从 i 到 j 的答案,那么

并且



大概解释一下,就是 dp[i][j] 要么是从两段 dp[i][k] 和 dp[k+1][j] 转移而来,要么就是去掉头尾 s[i] 和 s[j],然后转移到 dp[i+1][j-1]
#微软##笔试题目#
全部评论
第一题题目写错了吧,应该是a[0]+a[n-1] = a[1]+a[n-2]...另外能具体说下怎么做吗
1 回复 分享
发布于 2020-09-22 12:55
// 第一题,用差序列做,希望有dl指正 bool isSymmetric(vector<int> &diff, int begin, int end) { for(int i = begin; i < (begin + end)/2; i++) { if(diff[i] != diff[begin + end - i]) { return false; } } return true; } int solution(vector<int>& A) { int n = A.size(); vector<int> diff(n-1, 0); for(int i = 0; i < n-1; i++) { diff[i] = A[i+1] - A[i]; } int ret = A[0]; for(int i = 0; i < (n-1)/2; i++) { if(diff[i] != diff[n-2-i]) { if(i == 0 && isSymmetric(diff, 1, n-2) || isSymmetric(diff, 0, n-3)) { if(isSymmetric(diff, 1, n-2)) { ret = A[n-1] + diff[0]; } else if(isSymmetric(diff, 0, n-3)) { ret = A[0] - diff[n-2]; } } else { if(diff[i] > diff[n-2-i]) { ret = A[i] + diff[i+1]; } else { ret = A[n-1-i] - diff[i]; } } break; } } return ret; }
点赞 回复 分享
发布于 2021-04-10 17:32
楼主被通知笔试了吗?
点赞 回复 分享
发布于 2020-09-24 11:49
不是,想不明白第一题那个 原始的序列保证 a[1] = a[n], a[2] = a[n-1], ..., a[i] = a[n-i] 怎么还能做到序列递增
点赞 回复 分享
发布于 2020-09-22 16:23
第三题可以用栈
点赞 回复 分享
发布于 2020-09-22 12:57
为何你们都有笔试
点赞 回复 分享
发布于 2020-09-22 10:54

相关推荐

评论
5
33
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
11652次浏览 100人参与
# 你的实习产出是真实的还是包装的? #
2039次浏览 43人参与
# MiniMax求职进展汇总 #
24271次浏览 310人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7718次浏览 43人参与
# 简历第一个项目做什么 #
31813次浏览 344人参与
# 重来一次,我还会选择这个专业吗 #
433645次浏览 3926人参与
# 巨人网络春招 #
11393次浏览 223人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
187289次浏览 1122人参与
# 牛客AI文生图 #
21463次浏览 238人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152540次浏览 888人参与
# 研究所笔面经互助 #
118986次浏览 577人参与
# 简历中的项目经历要怎么写? #
310519次浏览 4227人参与
# AI时代,哪些岗位最容易被淘汰 #
64028次浏览 837人参与
# 面试紧张时你会有什么表现? #
30528次浏览 188人参与
# 你今年的平均薪资是多少? #
213232次浏览 1039人参与
# 你怎么看待AI面试 #
180298次浏览 1266人参与
# 高学历就一定能找到好工作吗? #
64348次浏览 620人参与
# 你最满意的offer薪资是哪家公司? #
76633次浏览 374人参与
# 我的求职精神状态 #
448229次浏览 3129人参与
# 正在春招的你,也参与了去年秋招吗? #
363673次浏览 2638人参与
# 腾讯音乐求职进展汇总 #
160718次浏览 1112人参与
# 校招笔试 #
471566次浏览 2964人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务