假设我们有两个数字 n 和 k。我们决定重新排列自然数。但是自然数太多了,所以我们决定从前 n 个开始。选择以下数字序列:首先,从 1 到 n 的所有奇数(升序排列),然后是从 1 到 n 的所有偶数(也升序排列)。我们必须找到哪个数字将位于第 k 个位置。问题类别各种编程问题可以通过不同的技术来解决。为了解决一个问题,我们首先必须设计一个算法,为此我们…… 阅读更多
假设我们有一个数字 n。我们正在开发一个项目来构建一个新的数据中心。这个数据中心的面积将是一个精确的 n 平方米的矩形。数据中心的每一侧都必须是一个整数。我们希望最大限度地减少外部环境对数据中心的影响。为此,我们希望最大限度地减少数据中心的周长(即其四条边的长度之和)。我们必须找到面积为……的矩形数据中心的最小周长。阅读更多
假设我们有两个字符串 S 和 T,以及另一个字符串 R。在 S 和 T 中表示了两种流行的键盘布局,它们只在字母位置上有所不同。所有其他键都是相同的。在 S 和 T 中,第一种和第二种布局的所有键都是按相同的顺序排列的。R也可能有数字。已知它是在第一种布局中键入的,但编写者打算在第二种布局中键入它。我们必须找到保持第二种布局的字符串。(因为除了字母之外的所有键在两种…… 阅读更多
假设我们有两个数字 h 和 w。一张桌子的高度和宽度。桌子被分成 h × w 个单元格。我们可以将盘子放在桌子的每个单元格中,或者保持为空。由于每位客人必须坐在他们的盘子旁边,我们只能将盘子放在桌子的边缘——放在矩形的第 1 行或最后一行,或放在第 1 列或最后一列。为了让客人感到舒适,不能将两个盘子放在具有公共边的单元格中…… 阅读更多