当前位置:   article > 正文

三本的我面试微软,微软包机票酒店早餐到苏州,实在太棒了_三本去微软

三本去微软

简介,苏州微软,目前已经电话三轮,全过,过了后可以公费去苏州现场面试。

比国外 Google的面试难度要低一些,或者说,偏重点更不一样。

微软你可以只做一道面试题,思路清晰,完整,边界情况考虑清楚,代码写好就行了。

但是 Google 是需要你在 40 分钟内,完美答出两道题目,这就是区别。

另外,苏州微软是用中文的,也是容易了一些的原因——因为用英语你确实脑子转不过来。

##第一轮

没有给出题目,口头说的,我整理一下:

判断一个数组是否基本有序,其实就是可否通过一次简单的交换就满足有序。

例子:

  • 1, 2, 3, 6, 5, 12 是基本有序数组,因为可以交换 6 跟 5, 变成1, 2, 3, 5, 6, 12
  • 1, 5, 4, 3, 6 也是基本有序数组,可以交换 5 跟 3
  • 3,2, 1, 0 就不是基本有序数组了,因为你交换一次数组并不能使此数组有序。

思路不难,仔细分析一下,有序的数组数字关系是这样: a < b < c < d < e,而基本有序则是:a < b > c > d <e,这样可能不好看,简单来说就是那两个数字在是不满足x < y的关系的。

可以遍历此数组,只要有多于一个数字是比两边都要大,且有一个数字是比左右两边要小的,那就是基本有序数组,其余的都不是。当然,你也要考虑本来这个数组就是有序的情况。

在面试时写的代码与交流草稿如下,这份代码是不能当答案看的,只是让朋友你们看看怎么样的代码可以过面试。建议你们自己写写可以编译过的代码。

int array
1, 2,  3, 6, 5, 12 true
       i
       min: 3, miax: 5

1, 5, 4, 3, 6

sub array -> reverse -> true

1, 2, 3, 6, _5,

1, 5, 4, 3, 6
max: 5
min: 3
1 < min < max < least
   i,

   1, 5, 4, 2,  8, 19, 7, 12

   5, 4, 9
   min: 2
   max: 5

   sub array -> sorted?
   7
   3

i: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/746423
推荐阅读
相关标签
  

闽ICP备14008679号