前n小的和

两序列前n小的两数和

  • 描述:有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到$N^2$个和,求这$N^2$个和中最小的N个。

跳跃游戏

  • 描述:给定数组arr,arr[i]=k代表可以从位置i向右跳1 ~ k个距离。比如,arr[2]=3,代表从位置2可以跳到位置3、位置4或位置5。如果从位置0出发,返回最少跳几次能跳到arr最后的位置上。如果arr长度为N,要求实现时间复杂度为O(N)、额外空间复杂度为O(1)的解法。

火车站台数量

  • 描述:假设已知某个火车站的所有过往列车的到达arrival和离开departure时间(同一天),如果要求所有列车都不等待直接进站,问至少需要多少个站台。无需考虑晚点等特殊情况。

二维数组区块计数

  • 描述:

输入一个只包含0和1的二维数组,上下左右和对角相邻的1组成一个区块,0不形成区块,求数组中的区块个数。

立方体塔

  • 描述:

小方有w个白色立方体和b个黑色立方体,现在小方想把它们堆成一个立方体塔。

一座高度为h的立方体塔,最底层有h个立方体,每往上一层,所需立方体减一,直到最高层只需要一个立方体。

为了让这座塔看起来美观,小方希望每一层都只能用一种颜色的立方体。

小方希望把这座塔叠的尽可能高,因此他想知道塔的最大高度是多少,以及这个高度的立方体塔能有几种。

两种立方体塔,当且仅当至少有一层的颜色是不同的,则被认为是不同的。

0/1背包问题

  • 描述:

有$N$件物品和一个容量是$V$的背包。

第$i$件物品的体积是$v_i$,价值是$w_i$。

求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。
输出最大价值。

爱健身的小王

  • 描述:

小王是一个喜欢健身的人,他每天都会围着一个n*n的场地外侧跑步。
他是一个有强迫症的人,每跑n+1个单位长度,他就要在地上做一个标记。
当他在一个点重复标记的时候,他就会结束当天的锻炼。
显然当n一定时,他每天打标记的数量也是一定的。请你计算出来他每天要打多少标记(最后一次重复标记也要计数)。

窗口点击模拟

  • 描述:

本题需要让你模拟一下在Windows系统里窗囗和鼠标点击的操作,具体如下:

  1. 屏幕分辨率为3840 * 2160,左上角坐标为(0,0),右下角坐标为(3839,2159)
  2. 窗口是一个矩形的形状,由左上角坐标(X,Y),和宽高(W,H),四个数字来定位。左上角坐标为(X,Y)、右下角坐标为(X+W,Y+H),其中左上角坐标一定会在屏幕范围内,其他一些部分可能会超过屏幕范围。
  3. 窗囗的点击和遮挡规则同Windows,但是不考虑关闭窗囗、最大化、最小化和强制置顶的情况。即
    3.1 如果发生重叠的话,后面打开的窗口会显示在前面打开的窗口上面
    3.2 当鼠标发生一次点击的时候,需要判断点击到了哪个窗口,如果同个坐标有多个窗口,算点击到最上层的那个
    3.3 当一个窗囗被点击的时候,会浮动到最上层