这些题目有多难?微软公司的面试问题(2)

专为互联网人打造的365天成长计划,500门视频课程随便看,构建你的产品、运营知识体系。查看详情

运算

  • 链接表和数组之间的区别是什么?
  • 做一个链接表,你为什么要选择这样的方法?
  • 选择一种算法来整理出一个链接表。你为什么要选择这种方法?现在用O(n)时间来做。
  • 说说各种股票分类算法的优点和缺点。
  • 用一种算法来颠倒一个链接表的顺序。现在在不用递归式的情况下做一遍。
  • 用一种算法在一个循环的链接表里插入一个节点,但不得穿越链接表。
  • 用一种算法整理一个数组。你为什么选择这种方法?
  • 用一种算法使通用字符串相匹配。
  • 颠倒一个字符串。优化速度。优化空间。
  • 颠倒一个句子中的词的顺序,比如将“我叫克丽丝”转换为“克丽丝叫我”,实现速度最快,移动最少。
  • 找到一个子字符串。优化速度。优化空间。
  • 比较两个字符串,用O(n)时间和恒量空间。
  • 假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?
  • 不用乘法或加法增加8倍。现在用同样的方法增加7倍。

本文摘自《25年面试官首次揭秘——世界500强面试题》一书

 »

评论
有话不说憋着难受!