- 1
- 0
- 约8.87千字
- 约 28页
- 2026-08-14 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年软件工程师面试编程技能测试题库
一、算法与数据结构(共5题,每题10分)
1.题目:
给定一个无重复元素的整数数组`nums`,返回其中`n`个元素的所有可能排列。
示例:
输入:`nums=[1,2,3]`
输出:`[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]`
要求:
-不能使用递归或内置排列库。
-时间复杂度尽可能低。
2.题目:
实现一个LRU(LeastRecentlyUsed)缓存,支持`get`和`put`操作。
-`get(key)`:获取键`key`对应的值,若不存在返回-1。
-`put(key,value)`:插入或更新键值对。当缓存容量已满时,删除最久未使用的元素。
示例:
LRU缓存容量为2。
-`put(1,1)`
-`put(2,2)`
-`get(1)`→返回1
-`put(3,3)`(容量已满,删除键2)
-`get(2)`→返回-1
要求:
-使用哈希表和双向链表实现。
3.题目:
设计一个数据结构,支持以下操作:
-`addWord(word)`:添加一个单词。
-`search(word)`:如果`word`在字典中,返回`true`;否则返回`false`。
示例:
-`
原创力文档

文档评论(0)