程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java邏輯

java邏輯

編輯:關於JAVA

100個人組成10*10的方隊,橫隊稱為行,縱隊稱為列。從每一行中挑出最高的一個人,共10人,再從這10個人中挑出最矮的一個人,記做甲;同時從每一列中挑出最矮的一個人,共10人,再從這十人中挑出最高的一個人,記做乙,甲和乙誰高,為什麼

..一個貌似比較復雜的邏輯問題....

原始方陣為person[ i ][ j ]

則從該方陣中選出的每行最大值為max[ i ],從方陣中選出的每列最小值為min[ i ]。

從max[ i ]中選出的最小值為 max_min(甲),它的屬性是:大於等於任何與它在同一行的其他值

從min[ i ]中選出的最大值為 min_max(乙),它的屬性是:小於等於任何與它在同一列的其他值

則可以得出以下結論:

當甲和乙處於同一行或列時,甲>=乙

當甲和乙是同一個人時,甲==乙

當甲和乙處於不同行或列時,因為甲是大於等於任何與它在同一行中的值,又因為乙小於等於所在列的其余值,所以對應甲的行與對應乙的列相交的時候,交點必定滿足 甲 >= 交點,乙 <=交點,合並得 甲 >= 交點 >= 乙,結果: 甲>=乙

-----------------------------------------------------------------------

關於甲和乙是同一個人的實例:

9,8,7,6,5

8,7,6,5,4

7,6,5,4,3

6,5,4,3,2

5,4,3,2,1

max = { 9,8,7,6,5 }

min={ 5,4,3,2,1 }

則max_min = 5(甲), min_max = 5(乙) 甲=乙,且在列陣裡表示的是同一個人。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved