编程与数据结构算法

题集来源:阿东玩 AI(Adong)收录项目:AgentGuide查看原题集

题目目录

371 道原题
  1. 【有序矩阵第K小】手撕:二维有序矩阵中找第k小的值(LeetCode 378)。要求时间复杂度O(n log n)(原记录未说明具体复杂度要求)。 「字节跳动、腾讯、阿里巴巴」

    原题

    原文对矩阵第 K 小的复杂度标注存在不一致,且未定义 n。

  2. 【第K大元素】手撕代码:找出无序数组中第K大的元素(LeetCode 215)。要求实现快速选择(QuickSelect)算法,并分析时间复杂度(平均O(n),最坏O(n^2))。可选的优化方法包括使用堆排序(堆排)或局部快排。 「京东、腾讯、阿里巴巴、阿里通义」

    原题
  3. 【车队】LeetCode 853. 车队(中等)。 「字节跳动」

    原题
  4. 交换正整数的两位数字,使其尽可能大。给定一个正整数,最多可以交换一次任意两位数字,返回能得到的最大整数。 「字节跳动」

    原题
  5. 分割平衡字符串。在一个平衡字符串中,'L'和'R'字符的数量相同。给定一个平衡字符串,将其分割成尽可能多的平衡子串,返回最大分割数量。 「字节跳动」

    原题
  6. 【任务调度器】任务调度器(LeetCode 621):给定一个用字符数组表示的CPU需要执行的任务列表,以及一个冷却时间n,每个单位时间可以完成一个任务,相同任务之间必须间隔至少n个单位时间,求完成所有任务所需的最短时间。 「阿里巴巴」

    原题
  7. 【加油站】加油站算法:在一条环路上有N个加油站,每个加油站有汽油gas[i],从第i个加油站到第i+1个需要消耗cost[i],求从哪个加油站出发可以走完一圈,否则返回-1。 「百度」

    原题
  8. 【双指针】实现双指针算法:给定一个有序数组,使用双指针法解决两数之和、三数之和或移除元素等问题。具体题目未指定,需现场实现。 「美团」

    原题

    第三个候选任务“移除元素”未给出目标值、保留规则与返回接口。

  9. 【跳跃游戏】跳跃游戏:给定一个非负整数数组,初始位置为第一个索引,每个元素代表在该位置可以跳跃的最大长度,判断是否能到达最后一个索引。变体:手撕一个贪心策略的问题(跳跃游戏)。 「百度、蚂蚁集团、阿里通义」

    原题
  10. PriorityQueue了解吗,有没有用过? 「美团」

    原题