原创 關於window.location.replace()以及history.go()方法

需求 當我們從商品列表界面點擊商品進入商品編輯界面後,我們點擊保存按鈕,再跳轉回商品列表界面。但此時會有一個問題,在商品列表界面返回上一界面,會返回到商品編輯界面。而我們希望它能返回到它真正的上一級,也就是我如果在主頁點擊該界面,

原创 mysql更改my.ini後無法啓動服務

前提背景 使用mysql.msi安裝mysql後,默認安裝到了C盤,於是想把mysql的數據文件移到D盤中,所以就修改了my.ini文件,之後mysql服務無法啓動。 解決方法 很多編輯軟件默認爲UTF-8編碼,但是my.in

原创 Go、java實現八皇后問題

題目描述 八皇后問題,一個古老而著名的問題,是回溯算法的典型案例。該問題由國際西洋棋棋手馬克斯·貝瑟爾於 1848 年提出:在 8×8 格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線

原创 Oracle如何將兩個沒有關聯的表查詢出來的結果合在一起

今天工作中遇到的需求,要查出幾個表中的數據,但是本着方便客戶的思想,想將這幾條查詢語句變成一條,只需要一次就可以查詢到所有的結果,妹滴狠。 1. 使用子查詢以及union all,拼接查詢結果 1.1 union all 解析 u

原创 選擇排序詳解——java實現

1.概念 選擇排序是一種很容易理解和實現的簡單排序算法。它的原理是:找到數組中最大(或最小)的元素,同該數組第一個(或最後一個)元素進行對換;之後在未完成排序的元素中(從第二個開始以後或者從倒數第二個以前)找到最小的元素,同第二個

原创 平衡二叉樹AVL左旋,右旋,雙旋——java

概念分析 平衡二叉樹也叫平衡二叉搜索樹,又被稱爲AVL樹,它能保證查詢效率較高 他具有以下特點:它是一顆空樹或者它的左右兩顆子樹的高度差的絕對值不大於一,並且左右子樹都是平衡二叉樹,其也滿足二叉排序樹的特點 小練習 看過上述的

原创 淺談Go中的init()

1. init()函數 init()函數會在包被初始化後自動執行,並且在main()函數之前執行,但是需要注意的是init()以及main()函數都是無法被顯式調用的,如下圖: 運行報錯如下: 2. 執行順序 那麼init()是

原创 有效的數獨——Go

題目描述 判斷一個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。 數字 1-9 在每一行只能出現一次。 數字 1-9 在每一列只能出現一次。 數字 1-9 在每一個以粗實線分隔的 3x3 宮內只能出

原创 java、Go實現希爾排序

1. 希爾排序 上篇文章我們講述了插入排序,其效率高於冒泡以及選擇排序,但是插入排序有一個問題就是如果數組中較小的數字在後方,那麼數組需要移動的次數是很多的,於效率而言是不好的,由此我們引出了希爾排序。 我們可以將數組中較小的數先

原创 java遞歸實現迷宮出口問題

1. 題目描述 給定一個m*n的迷宮,隨機給出障礙物,使得小球從起點可以走到出口 2. 迷宮設計 這個視自己喜好設定,障礙物也隨便設點,使用二維數組模擬迷宮,1即爲牆壁與障礙物 3. 思路分析 使用遞歸來模擬小球運動,假設

原创 遍歷對角線——力扣498

題目描述 給定一個含有 M x N 個元素的矩陣(M 行,N 列),請以對角線遍歷的順序返回這個矩陣中的所有元素,對角線遍歷如下圖所示。 示例: 輸入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9

原创 中綴轉後綴表達式——java(附四則運算)

1. 後綴表達式 後綴表達式,即爲逆波蘭表達式,其運算方法爲從左到右掃描表達式,當遇到符號時,取該符號前兩位數,使用前一個數運算後一個數,將結果放入剛纔兩個數的位置,運算的兩個數以及符號便去掉。由此得知,使用棧運算會很方便,下面會

原创 List.add(Map)重溫java參數傳遞

1.情景描述 //test1 public static void main(String[] args){ List<HashMap<String,Object>> list = new ArrayList<

原创 任意實體類轉map集合

思路 因爲程序不知道具體轉化時具體需要處理哪個實體類,所以運用反射機制。獲取到傳入的類之後,獲取該類所有方法,得到該方法的get方法(一般實體類裏只有屬性,get、set方法吧),通過get方法得到屬性的值,並且截取方法名get之

原创 兩個數組的交集 II——Go

題目描述 給定兩個數組,編寫一個函數來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5], nums2 =