微软笔试题及答案.docxVIP

  • 0
  • 0
  • 约5.88千字
  • 约 7页
  • 2026-08-21 发布于河南
  • 举报

微软笔试题及答案

考试时间:______分钟总分:______分姓名:______

一、编程题

1.给定一个字符串`s`,请编写一个函数来判断它是否可以通过翻转其中的部分字符形成回文串。可以翻转一个字符任意次。例如,`s=aab`可以翻转一个字符形成`aba`,是回文串;`s=abc`不能形成回文串。

2.实现一个LRU(LeastRecentlyUsed)缓存机制的`LRUCache`类。该类应支持以下操作:

*`LRUCache(intcapacity)`:用正整数`capacity`初始化LRU缓存。

*`intget(intkey)`:如果键`key`存在于缓存中,则返回其值,否则返回`-1`。

*`voidput(intkey,intvalue)`:如果键`key`已存在,则更新其值;如果键`key`不存在,则将其添加到缓存中。当缓存容量达到上限时,应该删除最久未使用的键。

二、数学/逻辑题

3.有`n`个朋友围成一圈,想要用最少的笔画(每次笔不离纸画一条线段连接两个朋友)将所有朋友都连接起来(即所有朋友都在同一条线段上)。请问最少需要画多少笔画?请简述你的思路。

4.给定一个整数数组`nums`,其中恰好有两个重复的数字,

文档评论(0)

1亿VIP精品文档

相关文档