原创 【劍指offer】17. 打印從1到最大的n位數

17. 打印從1到最大的n位數 難度簡單10 輸入數字 n,按順序打印出從 1 到最大的 n 位十進制數。比如輸入 3,則打印出 1、2、3 一直到最大的 3 位數 999。 示例 1: 輸入: n = 1 輸出: [1,2,3

原创 【劍指offer】18. 刪除鏈表的節點

18. 刪除鏈表的節點 難度簡單12收藏分享切換爲英文關注反饋 給定單向鏈表的頭指針和一個要刪除的節點的值,定義一個函數刪除該節點。 返回刪除後的鏈表的頭節點。 注意:此題對比原題有改動 示例 1: 輸入: head = [4,

原创 【JVM之美】引用類型

無論是通過引用計數算法判斷對象的引用數量,還是通過可達性分析算法判斷對象是否可達,判斷對象是否被回收都與引用有關, java具有四種強度不同的引用類型 1、強引用 被強引用關聯的對象不會被回收, 使用new一個新對象的方式來創建強

原创 【劍指offer】10.青蛙跳臺階問題

10.青蛙跳臺階問題 一隻青蛙一次可以跳上1級臺階,也可以跳上2級臺階。求該青蛙跳上一個 n 級的臺階總共有多少種跳法。 答案需要取模 1e9+7(1000000007),如計算初始結果爲:1000000008,請返回 1。 示

原创 【數據結構與算法之美】十大排序思路及代碼實現

1.冒泡排序 1.1 實現思路 冒泡排序思想是通過將兩個互相相鄰的元素進行比較,如果前一個元素大於後一個元素,進行交換位置。否則不交換。外層循環控制層數,內存循環控制個數。每進行一輪都會將最大數字移動到最後,所以經過多次交換就可

原创 【每日一題-leetcode】 88. 合併兩個有序數組

88. 合併兩個有序數組 給你兩個有序整數數組 nums1 和 nums2,請你將 nums2 合併到 nums1 中,使 num1 成爲一個有序數組。 說明: 初始化 nums1 和 nums2 的元素數量分別爲 m 和 n

原创 【劍指offer】7.重建二叉樹

7.重建二叉樹 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。 例如,給出 前序遍歷 preorder = [3,9,20,15,7] 中序遍歷 inorder =

原创 【每日一題-leetcode】26.刪除排序數組中的重複項

26.刪除排序數組中的重複項 給定一個排序數組,你需要在 原地 刪除重複出現的元素,使得每個元素只出現一次,返回移除後數組的新長度。 不要使用額外的數組空間,你必須在 原地 修改輸入數組 並在使用 O(1) 額外空間的條件下完成

原创 【每日一題-leetcode】25.reverse-nodes-in-k-group

25.K 個一組翻轉鏈表 難度困難416 給你一個鏈表,每 *k *個節點一組進行翻轉,請你返回翻轉後的鏈表。 *k *是一個正整數,它的值小於或等於鏈表的長度。 如果節點總數不是 *k *的整數倍,那麼請將最後剩餘的節點保持原

原创 【劍指offer】3.數組中重複的數字

3.數組中重複的數字 題目描述 在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 1.

原创 【每日一題-leetcode】24.swap-nodes-in-pairs

24.兩兩交換鏈表中的節點 //給定一個鏈表,兩兩交換其中相鄰的節點,並返回交換後的鏈表。 // // 你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。 // // // // 示例: // // 給定 1->2

原创 【分佈式系統】2.SOA軟件體系之服務路由和服務治理

1.服務路由            SOA架構中,服務消費者通過服務名稱,在衆多服務中找到要調用的服務的地址列表,稱作爲服務的路由。 2.服務負載均衡             對於負載較高的服務來說,往往對應着由多臺服務器組成的集羣。

原创 【分佈式系統】1.大型分佈式網站演變及SOA的通信協議和遠程調用

1.特點 在我看來一共兩個維度。一是訪問量 二是海量數據。 2.架構演進 2.1 單一架構          一個簡單的電商網站,通常都是進行模塊劃分,而所有的模塊都在一個系統裏面。All In one 部署在單個tomcat 服務器上

原创 【Java併發】同步與異步,阻塞與非阻塞

1. 同步阻塞: 客戶端發送請求給服務端,此時服務端處理任務時間很久,則客戶端則被服務端堵塞了,所以客戶端會一直等待服務端的響應,此時客戶端不能做事,服務端也不會接受其他客戶端的請求。這種通信機制比較簡單粗暴,但是效率不高。 2. 同步

原创 【nginx】Nginx的高可用實現

1.環境準備 1.兩臺服務器 2,都安裝上nginx  3,以及keeplived  2.keeplived的安裝 yum install keepalived-y                 安裝之後在etc/keepaliv