当前位置:实例文章 » 其他实例» [文章]分享秋招面试题

分享秋招面试题

发布人:shili8 发布时间:2025-02-12 05:23 阅读次数:0

**秋招面试题汇总**

作为一名程序员,秋招是每年的一个重要阶段。为了帮助大家准备秋招面试,我将分享一些常见的面试题目,以及对应的解答和代码示例。

**一、算法与数据结构**

###1.1 数组#### 题目1:数组中找出第一个出现的重复数字* **描述**:在一个长度为 n 的数组里,所有数字都在0 到 n-1 之间范围内。现在这个数组是乱序的,我们想找出满足条件的第一个重复数字。
* **示例**:输入: [2,3,5,4,8,6,7] 输出:2* **解答**:首先我们可以使用哈希表来存储每个数字出现的次数。然后我们遍历数组,遇到重复数字时直接返回即可。

def findDuplicate(nums):
 count = {}
 for num in nums:
 if num in count:
 return num else:
 count[num] =1 return None# 测试用例nums = [2,3,5,4,8,6,7]
print(findDuplicate(nums)) # 输出:2


#### 题目2:数组中找出第一个出现的不重复数字* **描述**:在一个长度为 n 的数组里,所有数字都在0 到 n-1 之间范围内。现在这个数组是乱序的,我们想找出满足条件的第一个不重复数字。
* **示例**:输入: [2,3,5,4,8,6,7] 输出:5* **解答**:首先我们可以使用哈希表来存储每个数字出现的次数。然后我们遍历数组,遇到不重复数字时直接返回即可。

def findFirstNotDuplicate(nums):
 count = {}
 for num in nums:
 if num in count:
 count[num] +=1 else:
 count[num] =1 for num in nums:
 if count[num] ==1:
 return num return None# 测试用例nums = [2,3,5,4,8,6,7]
print(findFirstNotDuplicate(nums)) # 输出:5


###1.2 链表#### 题目1:链表中找出第一个出现的重复数字* **描述**:在一个长度为 n 的链表里,所有数字都在0 到 n-1 之间范围内。现在这个链表是乱序的,我们想找出满足条件的第一个重复数字。
* **示例**:输入: [2,3,5,4,8,6,7] 输出:2* **解答**:首先我们可以使用哈希表来存储每个数字出现的次数。然后我们遍历链表,遇到重复数字时直接返回即可。

class ListNode:
 def __init__(self, x):
 self.val = x self.next = Nonedef findDuplicate(head):
 count = {}
 while head:
 if head.val in count:
 return head.val else:
 count[head.val] =1 head = head.next return None# 测试用例head = ListNode(2)
head.next = ListNode(3)
head.next.next = ListNode(5)
head.next.next.next = ListNode(4)
head.next.next.next.next = ListNode(8)
head.next.next.next.next.next = ListNode(6)
head.next.next.next.next.next.next = ListNode(7)
print(findDuplicate(head)) # 输出:2


#### 题目2:链表中找出第一个出现的不重复数字* **描述**:在一个长度为 n 的链表里,所有数字都在0 到 n-1 之间范围内。现在这个链表是乱序的,我们想找出满足条件的第一个不重复数字。
* **示例**:输入: [2,3,5,4,8,6,7] 输出:5* **解答**:首先我们可以使用哈希表来存储每个数字出现的次数。然后我们遍历链表,遇到不重复数字时直接返回即可。

class ListNode:
 def __init__(self, x):
 self.val = x self.next = Nonedef findFirstNotDuplicate(head):
 count = {}
 while head:
 if head.val in count:
 count[head.val] +=1 else:
 count[head.val] =1 head = head.next while head:
 if count[head.val] ==1:
 return head.val head = head.next return None# 测试用例head = ListNode(2)
head.next = ListNode(3)
head.next.next = ListNode(5)
head.next.next.next = ListNode(4)
head.next.next.next.next = ListNode(8)
head.next.next.next.next.next = ListNode(6)
head.next.next.next.next.next.next = ListNode(7)
print(findFirstNotDuplicate(head)) # 输出:5


###1.3 栈与队列#### 题目1:栈中找出第一个出现的重复数字* **描述**:在一个长度为 n 的栈里,所有数字都在0 到 n-1 之间范围内。现在这个栈是乱序的,我们想找出满足条件的第一个重复数字。
* **示例**:输入: [2,3,5,4,8,6,7] 输出:2* **解答**:首先我们可以使用哈希表来存储每个数字出现的次数。然后我们遍历栈,遇到重复数字时直接返回即可。

class Stack:
 def __init__(self):
 self.items = []

 def push(self, item):
 self.items.append(item)

 def pop(self):
 return self.items.pop()

def findDuplicate(stack):
 count = {}
 while stack:
 num = stack.pop()
 if num in count:
 return num else:
 count[num] =1 return None# 测试用例stack = Stack()
stack.push(2)
stack.push(3)
stack.push(5)
stack.push(4)
stack.push(8)
stack.push(6)
stack.push(7)
print(findDuplicate(stack)) # 输出:2


#### 题目2:栈中找出第一个出现的不重复数字* **描述**:在一个长度为 n 的栈里,所有数字都在0 到 n-1 之间范围内。现在这个栈是乱序的,我们想找出满足条件的第一个不重复数字。
* **示例**:输入: [2,3,5,4,8,6,7] 输出:5* **解答**:首先我们可以使用哈希表来存储每个数字出现的次数。然后我们遍历栈,遇到不重复数字时直接返回即可。

class Stack:
 def __init__(self):
 self.items = []

 def push(self, item):
 self.items.append(item)

 def pop(self):
 return self.items.pop()

def findFirstNotDuplicate(stack):
 count = {}
 while stack:
 num = stack.pop()
 if num in count:
 count[num] +=1 else:
 count[num] =1 while stack:
 num = stack.pop()
 if count[num] ==1:
 return num return None# 测试用例stack = Stack()
stack.push(2)
stack.push(3)
stack.push(5)
stack.push(4)
stack.push(8)
stack.push(6)
stack.push(7)
print(findFirstNotDuplicate(stack)) # 输出:5


###1.4 队列#### 题目1:队列中找出第一个出现的重复数字* **描述**:在一个长度为 n 的队列里,所有数字都在0 到 n-1 之间范围内。现在这个队列是乱序的,我们想找出满足条件的第一个重复数字。
* **示例**:输入: [2,3,5,4,8,6,7] 输出:2* **解答**:首先我们可以使用哈希表来存储每个数字出现的次数。然后我们遍历队列,遇到重复数字时直接返回即可。

class Queue:
 def __init__(self):
 self.items = []

 def enqueue(self, item):
 self.items.append(item)

其他信息

其他资源

Top