【问题标题】:Make elements in array equal by adding adjacent elements通过添加相邻元素使数组中的元素相等
【发布时间】:2021-03-31 16:35:25
【问题描述】:

我需要帮助解决这个程序。

程序声明: 为您提供了一个包含 n 个整数的数组。您必须使数组中的所有元素都相同。唯一的方法是在数组中添加相邻元素。 两个元素的单次相加算作一步。计算求解所需的最小步数。

Ex 1: arr = [2,2,4,1,3]
       Step 1: 2+2 = 4
       Step 2: 1+3 = 4
      arr = [4,4,4]
  So the final answer would be 2.

Ex 2: arr = [1,2,3,4,5]
       Step 1: 1+2 = 3
       Step 2: 3+4 = 7
      arr = [3,7,5]
       Step 3: 3+7 = 10
      arr = [10,5]
       Step 4: 10+5 = 15
      arr = [15]

在最后一步中,数组元素被简化为单个元素并被认为是相同的。 所以答案是 4 个步骤。

如果有人能提出解决方案,我会很高兴。 提前致谢。

【问题讨论】:

  • 欢迎来到 Stack Overflow。你有没有尝试过自己解决这个问题?
  • 抱歉,我尝试了几种方法,但如果没有可靠的方法解决问题,我永远无法让自己编写代码。因此,如果您有任何解决方案的方法,请分享。
  • 我不是要代码,只是告诉我们您尝试过的一两种方法。同时我会发布一个提示。

标签: arrays arraylist


【解决方案1】:

这里有一个提示。最后,所有元素必须具有相同的值。你对这个值了解多少?如果你知道价值,你能解决这个难题吗?

这样就够了吗?

编辑:将问题分成两个更简单的问题。 (这是一个非常有用的通用技术。)

首先,查看最初的数字列表,并尝试对最终值可以和不可以进行一些推断。例如:

9 1 16 7 10 9 12 14 4 21 1 24 2

最终的价值是多少?

其次,如果你被告知最终值,你会如何解决这个难题?

【讨论】:

  • 该值可以是任何数字。如果知道最终数字,那么事情就会变得更容易。
猜你喜欢
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多