日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

求最小子数组之二维篇

發布時間:2025/7/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 求最小子数组之二维篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、設計思路

??求出該二維數組的所有子數組,先確定一個位置為起點,然后向右下方依次以此起點為始的所有子數組,

圖1—順序求子數組

具體如上圖1,順序求出子數組,然后和max值相比較,若比max值大,則將該子數組和賦給max,并保存其位置,對該子數組的位置,只需要保存其首尾位置即可,

????????????????????????

???圖2—保存子數組位置

如上圖2所示,得到了最大子數組和與其位置,輸出即可。

二、代碼

1 package zishuzu; 2 3 import java.util.*; 4 5 public class zuixiaozishuzu { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 10 int m,n,M,N,max,sum; 11 int i,i1,i2,j,j1,j2; 12 int shouL,shouR,weiL,weiR; 13 Scanner sc = new Scanner(System.in); 14 System.out.println("輸入二維數組的行數和列數:"); 15 m = sc.nextInt(); 16 n = sc.nextInt(); 17 System.out.println("輸入該二位數組的取值范圍(保證第一個數小于第二個數):"); 18 M = sc.nextInt(); 19 N = sc.nextInt(); 20 21 int[][] Shuzu = new int[m][n]; 22 for(i = 0;i < m;i++) 23 for(j = 0;j < n;j++) 24 { 25 Shuzu[i][j] = N + (int)(Math.random()*(M - N)); 26 } 27 System.out.println("該隨機二維數組為:"); 28 for(i = 0;i < m;i++) 29 for(j = 0;j < n;j++) 30 { 31 System.out.print(Shuzu[i][j]+"\t"); 32 if(j == n - 1) 33 { 34 System.out.print("\n"); 35 } 36 } 37 38 sum =0; 39 max = Shuzu[0][0]; 40 shouL = 0; 41 shouR = 0; 42 weiL = 0; 43 weiR = 0; 44 45 for(i = 0;i < m;i++) 46 { 47 for(j = 0;j < n;j++) 48 { 49 for(i1 = i;i1 < m;i1++) 50 { 51 for(j1 = j;j1 < n;j1++) 52 { 53 for(i2 = i;i2 <= i1;i2++) 54 { 55 for(j2 = j;j2 <= j1;j2++) 56 { 57 sum = sum + Shuzu[i2][j2]; 58 } 59 } 60 if(max <= sum) 61 { 62 max = sum; 63 shouL = i; 64 shouR = j; 65 weiL = i1; 66 weiR = j1; 67 } 68 sum = 0; 69 } 70 } 71 } 72 } 73 74 System.out.println("最大子數組和為:"); 75 System.out.println(max); 76 System.out.println("最大子數組為:"); 77 for(i = shouL;i <= weiL;i++) 78 for(j = shouR;j <= weiR;j++) 79 { 80 System.out.print(Shuzu[i][j] + "\t"); 81 if(j == weiR) 82 { 83 System.out.print("\n"); 84 } 85 } 86 87 sc.close(); 88 } View Code

三、實驗結果

圖3—結果1

圖4—結果2

圖5—結果3

四、開發過程

? 一個二維數組,當看到求最小子數組時,立馬蹦出的想法就是求出這個二維數組的每一個子數組,雖然想法普通,時間復雜度高,卻也不用考慮很多的特殊情況,出錯的風險低了許多。

??設計之初就是一個時間復雜度為n6的一個思路,第一層即最外層是關于起始位置的循環,第二層是關于終止位置的循環,最里層則是該子數組的自加求和,每層有兩個for循環。

? 在一開始編寫時,將循環時的值設為i,ii,iii,j,jj,jjj,運行時卻失敗了,花了兩節課怎么也找不到錯誤,突然想起同伴的提醒:為什么不用i,i1,i2,j1,j1,j2,這樣不是更容易看點,于是便將所有值該了過來,改到最后一個jjj值時,才發現,我是將“jjj”寫成了“jj”,導致了程序的無限循環。

??在研究錯誤的兩節課里,經同伴提醒,想要減少時間復雜度,就是修改每層的for循環,減少一個,將i++寫在for循環內,具體代碼如下:

1 i = 0; 2 for(j = 0;j < n;j++) 3 { 4 i1 = i; 5 for(j1 =j;j1 < n;j1++) 6 { 7 i2 = i; 8 for(j2 = j;j2 <= j1;j2++) 9 { 10 sum += Shuzu[i2][j2]; 11 if((j2 == j1)&&(i2 < i1)) 12 { 13 i2++; 14 j2 = j; 15 } 16 else if(j2 == j1&&i2 == i1) 17 { 18 break; 19 } 20 } 21 if(max < sum) 22 { 23 max = sum; 24 shouL = i; 25 shouR = j; 26 weiL = i1; 27 weiR = j1; 28 } 29 sum = 0; 30 if(j1 == n -1 && i1 < m -1) 31 { 32 i1++; 33 j1 = j; 34 } 35 else if(j1 == n-1 && j1 == m - 1) 36 { 37 break; 38 } 39 } 40 if(j == n - 1 && j < m - 1) 41 { 42 i++; 43 j = 0; 44 } 45 else if(j == n - 1 && j == m - 1) 46 { 47 break; 48 } 49 } View Code

能運行出來,可檢驗時發現有的運算結果是錯誤的,所以就先用了第一種方法。
??這個程序還可以稍作改進,就是當存在最大子數組和相同的子數組時,將所有數組都輸出,可以用數組來保存。

五、結對開發成員

劉雙渤,劉洪陽

轉載于:https://www.cnblogs.com/little-clever/p/4412637.html

總結

以上是生活随笔為你收集整理的求最小子数组之二维篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产xxxx做受视频 | 撸大师av| 成人国产三级 | 伊人网中文字幕 | 老头老太吃奶xb视频 | 亚洲伊人婷婷 | 久久网站免费看 | 中文字幕被公侵犯的漂亮人妻 | 中文字幕av在线播放 | 亚洲丝袜视频 | 国产精品天天看 | 在线免费观看成年人视频 | 日韩在线中文 | 91综合在线 | 国产视频手机在线 | 成人激情站 | 午夜性激情| 国产三级日本三级在线播放 | 久久影院精品 | 91免费成人 | 亚洲色成人一区二区三区小说 | 成人亚洲国产 | 国产视频久久久久久 | 人妻妺妺窝人体色www聚色窝 | 色婷婷影院 | 黄色aa网站| 国产精品无码久久久久成人app | 蜜桃视频在线观看污 | 视频在线免费观看 | 久久久久亚洲av无码专区桃色 | 丰满饥渴老女人hd | av在线在线 | 妞妞av | 一级a性色生活片久久无 | 最新中文字幕在线观看 | 欧美日韩生活片 | 91综合视频 | 大尺度激情吻胸视频 | 色涩涩 | 日韩高清国产一区在线 | 性免费网站 | 日本黄色播放器 | 国产视频第三页 | 97精品人妻麻豆一区二区 | 我我色综合 | 小柔的裸露日记h | 漂亮人妻洗澡被公强 日日躁 | 国产一区二区片 | 成人av在线电影 | 久久网站免费看 | 激情视频网 | 成色网| 国产免费脚交足视频在线观看 | 朴麦妮原版视频高清资源 | 日本公妇乱淫免费视频一区三区 | 日本在线中文字幕专区 | 国产婷婷色一区二区 | 欧美三级一区 | 91蜜桃臀久久一区二区 | 免费在线播放黄色片 | 国产人妻一区二区三区四区五区六 | 一区二区日韩精品 | 亚洲精品一区二区三区在线 | 午夜在线免费观看视频 | 日皮视频网站 | 毛茸茸毛片 | av狠狠| 91精品国产麻豆国产自产在线 | 嫩草天堂 | 在线电影一区二区三区 | 免费成人深夜夜国外 | 福利在线免费观看 | 小嫩嫩精品导航 | 91欧美激情一区二区三区 | 国产第20页 | 与子敌伦刺激对白播放的优点 | 99久久九九 | 国产乱轮视频 | www.色多多| 神马影院午夜伦理 | 免费看污片网站 | 三级网站在线 | av在线激情 | 黑人爱爱视频 | 荫蒂被男人添免费视频 | 国产乱妇乱子 | 国语精品久久 | 日韩第九页 | av网页在线 | 日日噜噜噜夜夜爽爽狠狠视频97 | 久久综合高清 | 亚洲精品久| 亚洲自拍偷拍一区二区三区 | 亚洲精品国产欧美 | 国产精品久久久久久福利 | 91口爆一区二区三区在线 | 日本成人黄色 | 久久久久久国产精品 | 国内视频一区二区 |