灰橙面试体验(第一轮)
两轮黑客等级入围候选人
第1轮:
1 小时 4 道编程题。
方案一:
播放列表:
给出一个字符串数组,包含歌曲的播放列表。还给出了当前播放的曲目。
找到播放所需歌曲所需的最小移动次数(上/下),这也是给出的。
例如:{ a, b, c, d} 是播放列表中的歌曲。当前播放的曲目是 a(索引 0),下一首要播放的歌曲是 c,所需的最小移动数是 2。
例如:{ a, b, c, d} 是播放列表中的歌曲。当前播放的曲目是 d(索引 3),下一首要播放的歌曲是 a,所需的最小移动数是 1。
从最后一首歌我们可以直接跳到第一首歌。
方案二:
给定一个数字数组,求奇数除数之和。
示例:{1、4、7}
1:1
4:1、2、4
7:1、7
奇数除数之和:1(1 )+ 1(1) + 2(1, 7) = 4
方案 3:
https://www.geeksforgeeks.org/minimum-swaps-required-group-1s-together/