java 计算小费_java-以某些形状显示数字
所以我認為我在這方面投入了太多時間,但這是一個有趣的挑戰,所以我想讓我們嘗試一下.
我向該解決方案推薦了一個代碼版本,盡管它可能不是最干凈的,因為我向后處理整個問題,但它的效果很好.
這是我可以在線嘗試的解決方案(請注意,它沒有經過嚴格優化,并且絕不是好的Java代碼.老實說,這是一種快速而骯臟的實現):
因此,想法很簡單:我們首先為矩陣中的每個位置計算正確的值,然后將其打印出來.
讓我們再詳細一點:
我們首先為要打印的值創建矩陣:
給定大小n,這是
int[][] values = new int[n][n];
現在我們要計算每個點的正確值.我選擇以“錯誤的方式”解決問題,而不是從第一點開始,而是從螺旋的中心開始.
基本上想象一下n = 3的矩陣:
[1][2][3]
[8][9][4]
[7][6][5]
而不是從1開始,我只是從9開始.這樣做的原因是,實際上計算從一個點螺旋成一個點到螺旋成一個點的位置實際上更容易.
因此,從這個中心點開始,我們以圓形的方式從那里螺旋上升.對于矩陣
[1][2]
[4][3]
這意味著我們訪問4-> 3-> 2-> 1.然后將正確的值保存在矩陣中.
我的方法唯一的問題是,對于尺寸不均勻(3、5、7等)的矩陣,我仍然以螺旋順序訪問點,對于3×3,訪問順序例如9-> 4-> 3-> 2-> 1-> 8-> 7-> 6->如圖5所示,我完全畫在Paint中:
這導致結果矩陣如下:
[5][6][7]
[4][9][8]
[3][2][1]
盡管可以簡單地解決此小問題,但是只要將矩陣n%2!= 0再次反轉打印一次即可.
希望我可以提供其他解決方法的幫助.
總結
以上是生活随笔為你收集整理的java 计算小费_java-以某些形状显示数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 中组合与复用_Java 代码复
- 下一篇: java properties 属性,j