有幸被邀请做为保送研究生面试的面试官考查过的题目,下述部分都是一些简单题目,可以作为参考。
1. 最小的k个数
输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。
输入:arr = [3,2,1], k = 2
输出:[1,2] 或者 [2,1]
2. 最长不含重复字符的子字符串
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
3. 最长公共子序列
输入:text1 = "abcde", text2 = "ace"
输出:3
解释:最长公共子序列是 "ace" ,它的长度为 3 。
输入:text1 = "abcde", text2 = "acf"
输出:3
解释:最长公共子序列是 "ac" ,它的长度为 2 。
4. 三数之和
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。
注意:答案中不可以包含重复的三元组。
输入:nums = [-1,0,1,2,-1,-4]
输出:[[-1,-1,2],[-1,0,1]]
5.字符串的排列
输入一个字符串,打印出该字符串中字符的所有排列。
你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。
输入:s = "abc"
输出:["abc","acb","bac","bca","cab","cba"]
6. 替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
输入:s = "We are happy."
输出:"We%20are%20happy."
7. 跳台阶问题
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
输入:n = 2
输出:2
8. 跳台阶问题(进阶)
一只青蛙一次可以跳最多 m m m个台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
输入:n = 2
输出:2
9. 链表结点排序
给定一个链表,返回排序后的链表
输入:[2,3,1,5,4]
输出:[1,2,3,4,5]
10. 排序
给定10M的内存,对1TB的数据进行排序,请说明思路和实现过程。