第一题

LeetCode 877 Medium [ https://leetcode.com/problems/stone-game ]

  • 描述:

    Alice 和 Bob 用几堆石子在做游戏。一共有偶数堆石子,排成一行;每堆都有 整数颗石子,数目为 piles[i] 。

    游戏以谁手中的石子最多来决出胜负。石子的 总数奇数 ,所以没有平局。

    Alice 和 Bob 轮流进行,Alice 先开始 。 每回合,玩家从行的 开始结束 处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中 石子最多 的玩家 获胜

    假设 Alice 和 Bob 都发挥出最佳水平,当 Alice 赢得比赛时返回 true ,当 Bob 赢得比赛时返回 false 。

前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个立方体,每往上一层,所需立方体减一,直到最高层只需要一个立方体。

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

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

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