使用java实现求最大和非空子数组的问题

 时间:2024-10-27 20:18:45

1、我们嚼但匙噻首先描述这个问题的解决思路。基本的思路是采用分治法:对于一个数组A[low...high],将其从中间分为怎剑词阶两个部分a[low...mid]与a[mid+1...high]。这样,任何连续子数组必定属于以下三种情况之一:1.完全位于左侧数组;2.完全位于右侧数组;3.跨越了中间元素的数组。

使用java实现求最大和非空子数组的问题使用java实现求最大和非空子数组的问题

4、下面我们使用java语言实现以上的算法。首先,由于以上两个函数返回值均为多个值,但数据类型均为整型,因此返回值为List<Integer>,将返回值完全封装在里面。首先求出mid左侧的最大值,实现方法如下。

使用java实现求最大和非空子数组的问题

6、然后使用递归策略,反复调用该方法,每调用一个,数组的长度减半,直到每一个数组只剩下一个元素时,递归开始回溯。

使用java实现求最大和非空子数组的问题

8、输出结果如下,与实际的最大值相同。

使用java实现求最大和非空子数组的问题
  • 炉石传说暴风城电表园卡组搭配攻略
  • 如何删除多余IE右键菜单“使用迅雷下载”项?
  • Emby App怎么查看当前Emby Server的版本号
  • OneNote手机版怎么开启自动检查拼写功能
  • Keep怎么新建合集
  • 热门搜索
    南京周边旅游景点 3月份去哪旅游好 上海春秋旅游官方网站 湖北周边旅游 四川冬季旅游景点 台山大方旅游官网 山西省旅游景点 呼伦贝尔旅游局官网 山西省旅游政务网 山东旅游网官网