我們給出關於2-d數組賦值的規定:
給定一個矩形2-d char grid [row] [col]
和char
去尋找,找到包含最小矩形字符的所有事件和返回它的區域。如果char只有一次出現,那麼將其包圍的矩形爲1x1,區域爲1.如果該字符未出現,則返回0的面積。
下面是問題的鏈接和示例: http://www.stanford.edu/class/cs108/handouts081/03HW1CodeCamp.pdf(頁面2)但我們必須使用int charArea (char[][] grid, char ch)
而不是int charArea (char ch)
請幫我想出一個算法。我是Java新手,我很難考慮僞代碼/代碼。我只知道是2維數組
import java.util.*;
public class Area {
public static int charArea (char[][] grid, char ch) {
for (int i=0; i<3; i++) { //row
for (int j=0; j<4; j++) { //column
// What now, please?
}
}
return answer;
}
public static void main(String[] args) {
char[][] grid = {
{'a', 'b', 'c', 'd'},
{'a', ' ', 'c', 'd'},
{'x', 'b', 'c', 'a'}
};
Scanner input = new Scanner (System.in);
System.out.print("Enter a character to look for: ");
String temp = input.nextLine();
char ch = temp.charAt(0);
System.out.print(charArea(grid, ch));
}
}
只是請幫我設計一個算法/僞碼(或代碼,如果你不介意哈哈)。非常感謝!
有什麼問題呢? 「*設計完整的算法*」? – Lion 2012-07-13 15:24:04
你只需要檢查,看看是否在該位置的字符是你正在尋找......我想你應該搞清楚如何做到這一點看到,因爲這是怎樣的功課不是STACKOVERFLOWwork – EEP 2012-07-13 15:24:33
問題,如整點的角色這是當你第一次開始時挑戰你。坐下來,筆和紙,關閉你的計算機,邏輯上思考你會採取什麼步驟來逐步解決問題的紙張上。然後寫出一些僞代碼。這樣做會使你處於更好的位置。 – 2012-07-13 15:25:52