亚马逊2023届暑期实习笔面经

亚马逊

时间线

2.25 笔试,3.17面试

笔试

第一题

搜索时要补充多少个字符,才能使关键词成为搜索词的子串,需要保证按顺序来匹配

Sample
input: 
searchWord: "armaz"
resultWord: "amazon"

output:
2

需要在searchWord的结尾补上"on",才能使得"amazon"成为searchWord的子串

思路

从resultWord的第一个字符开始查找,最开始p=0,假设当前字符是c,当searchWord.indexOf(c, p) != -1时,令p=searchWord.indexOf(c, p)+1,也就是下次从母串的再下一位开始找

第二题

母串里最多可以拆出多少个子串,不用保证顺序

Sample
input:
s = "mononom"
t = "mon"

output:
2

可以拆两次,“mononom

思路

先遍历一遍子串,用一个哈希表保存每个不同字符出现的频率(需求);
然后统计母串当中这些字符出现的频率(提供)。

对于t的每个字符c
times = 字符串中s中c出现了多少次
need = 字符串中t中c出现了多少次
for( t的每个字符c ){
	ans = Math.min(ans, times/need);
}

一面

自我介绍

3-4分钟自我介绍

项目

聊实习工作,主要希望我讲一讲Memory Leaks有关的工作
是怎么分析问题的,怎么解决的
能不能举一个具体的例子

算法

Given a dictionary, a starting word and a ending word, find the shortest sequence to connect them
Sample:
mall
ball
bell 
belt

给一个字典,一对单词(起点和终点),判断这个字典里能否构成一个序列,从起点走到终点并且每次只改变单词的一个字母;如果可以的话找出最短的序列,并打印,打印时每次改变的那个字母小写,其余字母大写。

二面

先聊项目
然后做算法题:
给两个字符串(代表两个超大的数),大数相乘
写完代码后的问题:
有哪些corner case需要考虑,对于字符串输入
一个 char[] 直接 toString 是有问题的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值