后端岗位面试题更新 2026-08-05

给定一个只包含英文字母的字符串和一个整数K,请重排字符串,使得相同字符连续出现的长度不超过K,并返回任意一种可行的重排结果;如果无法重排则返回空字符串。

阿里巴巴控股集团后端开发互联网/IT编码实现问题拆解技术原理

考察说明

考察贪心算法与优先队列的运用,判断可行性并构造重排结果

回答思路

  1. 判断最大频率字符是否超过上限,及时返回不可能
  2. 使用优先队列按剩余频次降序选择字符,避免连续超限
  3. 正确处理回退机制,保证相同字符间至少间隔K-1个其他字符
  4. 边界处理:K为1、字符串为空、所有字符相同等场景