📜  高盛面试经历 |设置 41(1)

📅  最后修改于: 2023-12-03 15:29:00.307000             🧑  作者: Mango

高盛面试经历 | 设置 41

简介

本篇介绍的是一位程序员在高盛面试中的经历,分享了部分面试题目及所学到的知识点。希望能够给程序员们提供有益的帮助和建议。

总结

通过这次高盛的面试,我发现自己仍然有很多需要学习的地方,尤其是在算法和数据结构方面。我会继续努力提升自己的技能水平,争取在未来的面试中有更好的表现。

面试题目
第一轮
  1. 马克思平均天数问题

例如:给你每个月的天数,问平均每个月有多少天?

解法:将每个月的天数求和,再除以总的月数。

  1. 矩阵中的最长递增路径

给定一个矩阵,找出其中的最长递增路径。

解法:使用动态规划,先将矩阵中的每个元素初始化为1,在遍历过程中,比较当前元素与相邻元素大小,如果当前元素比相邻元素大,则将相邻元素的值加1,并更新最长路径。

第二轮
  1. 编写一个方法,查找给定字符串中的所有重复的字符并返回

解法:使用哈希表,遍历字符串中的每个字符,将字符作为键存储在哈希表中,并将值初始化为1,如果遍历到重复的字符,则将对应的值加1。

  1. 给定一个有序数组和一个目标值,在数组中查找两个数的和等于目标值

解法一:暴力枚举,遍历数组中的每个元素,对于每个元素,遍历后面的元素,判断其与当前元素的和是否等于目标值,时间复杂度为O(n^2)。

解法二:使用双指针法,将左指针指向数组的第一个元素,将右指针指向数组的最后一个元素。比较左右指针所指元素的和与目标值的大小关系,如果和小于目标值,则将左指针向右移动一位,如果和大于目标值,则将右指针向左移动一位,直到找到满足条件的两个数。

第三轮
  1. 给定一个字符串,编写一个方法,判断该字符串是否为回文串

解法一:暴力枚举,将字符串分别从头和尾开始遍历,依次比较对应的字符是否相等,时间复杂度为O(n)。

解法二:使用双指针法,将左指针指向字符串的开头,将右指针指向字符串的结尾,依次比较对应的字符是否相等,时间复杂度为O(n)。

  1. 给定一个数组和一个目标值,编写一个方法,找出数组中所有三个数的组合,使其和等于目标值

解法:将数组排序,枚举第一个数,使用双指针法找到剩下两个数的组合,时间复杂度为O(n^2)。

总结

通过这次高盛的面试,我发现自己仍然有很多需要学习的地方,特别是在算法和数据结构方面。我会继续努力提升自己的技能水平,争取在未来的面试中有更好的表现。

# 高盛面试经历 | 设置 41

## 简介

本篇介绍的是一位程序员在高盛面试中的经历,分享了部分面试题目及所学到的知识点。希望能够给程序员们提供有益的帮助和建议。

## 总结

通过这次高盛的面试,我发现自己仍然有很多需要学习的地方,尤其是在算法和数据结构方面。我会继续努力提升自己的技能水平,争取在未来的面试中有更好的表现。

## 面试题目

### 第一轮

1. 马克思平均天数问题

例如:给你每个月的天数,问平均每个月有多少天?

解法:将每个月的天数求和,再除以总的月数。

2. 矩阵中的最长递增路径

给定一个矩阵,找出其中的最长递增路径。

解法:使用动态规划,先将矩阵中的每个元素初始化为1,在遍历过程中,比较当前元素与相邻元素大小,如果当前元素比相邻元素大,则将相邻元素的值加1,并更新最长路径。

### 第二轮

1. 编写一个方法,查找给定字符串中的所有重复的字符并返回

解法:使用哈希表,遍历字符串中的每个字符,将字符作为键存储在哈希表中,并将值初始化为1,如果遍历到重复的字符,则将对应的值加1。

2. 给定一个有序数组和一个目标值,在数组中查找两个数的和等于目标值

解法一:暴力枚举,遍历数组中的每个元素,对于每个元素,遍历后面的元素,判断其与当前元素的和是否等于目标值,时间复杂度为O(n^2)。

解法二:使用双指针法,将左指针指向数组的第一个元素,将右指针指向数组的最后一个元素。比较左右指针所指元素的和与目标值的大小关系,如果和小于目标值,则将左指针向右移动一位,如果和大于目标值,则将右指针向左移动一位,直到找到满足条件的两个数。

### 第三轮

1. 给定一个字符串,编写一个方法,判断该字符串是否为回文串

解法一:暴力枚举,将字符串分别从头和尾开始遍历,依次比较对应的字符是否相等,时间复杂度为O(n)。

解法二:使用双指针法,将左指针指向字符串的开头,将右指针指向字符串的结尾,依次比较对应的字符是否相等,时间复杂度为O(n)。

2. 给定一个数组和一个目标值,编写一个方法,找出数组中所有三个数的组合,使其和等于目标值

解法:将数组排序,枚举第一个数,使用双指针法找到剩下两个数的组合,时间复杂度为O(n^2)。

## 总结

通过这次高盛的面试,我发现自己仍然有很多需要学习的地方,特别是在算法和数据结构方面。我会继续努力提升自己的技能水平,争取在未来的面试中有更好的表现。