【算法题】找出整形数组中最小的差距

有一道算法题是这样的,有一个非空整形数组,包含N个整数, 也就是数组A[N]包括N个元素 => A[0], A[1], A[2], A[3],A[4]....A[N-1]

现在有一个0-N之间的中间数 (0 < P < N), 把这个整形数组分为2部分, 这2部分分别是

A[0], A[1], A[2], A[3], A[4], .......A[P-1]  和另一部分  A[P],A[P+1],A[P+2]....A[N-1]  => 然后我们计算这两部分各自的和的差值的绝对值,也就是说

| (A[0] + A[1] +  A[2] + A[3] + A[4] ......+A[P-1] )  -  (A[P] + A[P+1] +....A[N-1]) |   根据P的不同,求这个绝对值的最小值, 返回这个绝对值对应是最小值的P

比如

A[0] = 3

A[1] = 1

A[2] = 2

A[3] = 4

A[4] = 3

 

  • P = 1, difference = |3 − 10| = 7
  • P = 2, difference = |4 − 9| = 5
  • P = 3, difference = |6 − 7| = 1
  • P = 4, difference = |10 − 3| = 7 

显然,P=3时,就是返回最小值

posted on   新西兰程序员  阅读(30)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2017-02-16 Google Analytics添加到网站
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示