原创 【大廠面試題-字節】2019春招面試第一題

題目描述 我叫王大錘,是一家出版社的編輯。我負責校對投稿來的英文稿件,這份工作非常煩人,因爲每天都要去修正無數的拼寫錯誤。但是,優秀的人總能在平凡的工作中發現真理。 我發現一個發現拼寫錯誤的捷徑: 1.三個同樣的字母連在一起,一定是拼寫錯誤

原创 @Autowired註解 --required a single bean, but 2 were found出現的原因以及解決方法

@Autowired註解是spring用來支持依賴注入的核心利器之一,但是我們或多或少都會遇到required a single bean, but 2 were found(2可能是其他數字)的問題,接下來我們從源碼的角度去看爲什麼會出現

原创 二叉搜索樹,一個簡單但是非常常見的數據結構

前言 今天leetcode的每日一題450是關於刪除二叉搜索樹節點的,題目要求刪除指定值的節點,並且需要保證二叉搜索樹性質不變,做完之後,我覺得這道題將二叉搜索樹特性凸顯的很好,首先需要查找指定節點,然後刪除節點並且保持二叉搜索樹性質不變,

原创 圖解Dijkstra算法+代碼實現

簡介 Dijkstra(迪傑斯特拉)算法是典型的單源最短路徑算法,用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點爲中心向外層層擴展,直到擴展到終點爲止。Dijkstra算法是很有代表性的最短路徑算法,在很多專業課程中都作爲基本

原创 圖解拓撲排序+代碼實現

鋪墊 有向圖:我們這節要講的算法涉及到有向圖,所以我先把有向圖的一些概念說一下,文章後面就不做解釋啦。首先有向圖節點與節點之間是用帶箭頭的線連接起來的。節點有出度和入度的概念,連線尾部指向的節點出度加1,連線頭部,也就是箭頭指向的節點入度加

原创 圖解Tire樹+代碼實現

簡介   Trie又稱爲前綴樹或字典樹,是一種有序樹,它是一種專門用來處理串匹配的數據結構,用來解決一組字符中快速查找某個字符串的問題。Google搜索的關鍵字提示功能相信大家都不陌生,我們在輸入框中進行搜索的時候,會下拉出一系列候選關鍵詞

原创 圖解KMP字符串匹配算法+代碼實現

  kmp算法跟之前講的bm算法思想有一定的相似性。之前提到過,bm算法中有個好後綴的概念,而在kmp中有個好前綴的概念,什麼是好前綴,我們先來看下面這個例子。   觀察上面這個例子,已經匹配的abcde稱爲好前綴,a與之後的bcde都不

原创 圖解BM(Boyer-Moore)字符串匹配算法+代碼實現

簡介 本篇文章主要分爲兩個大的部分,第一部分通過圖解的方式講解BM算法,第二部分則代碼實現一個簡易的BM算法。 基本概念 bm是一個字符串匹配算法,有實驗統計,該算法是著名kmp算法性能的3~4倍,其中有兩個關鍵概念,壞字符和好後綴。 首先

原创 來一起寫一個跳錶吧

  跳錶全稱叫做跳躍表,簡稱跳錶,是一個隨機化的數據結構,實質就是一種可以進行二分查找的有序鏈表。跳錶在原有的有序列表上面增加多級索引,通過索引來實現快速查找。跳錶不僅能提高搜索性能,同時也提高插入和刪除的性能,redis中的有序集合set

原创 macOS M1 安裝npm

1.安裝brew   /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 按提示即可 2.安裝node   brew

原创 【每日一題】leetcode3無重複字符的最長子串

題目描述 給定一個字符串 s ,請你找出其中不含有重複字符的最長子串的長度。 示例 輸入: s = "abcabcbb" 輸出: 3  解釋: 因爲無重複字符的最長子串是 "abc",所以其長度爲 3。 題目分析 要求從字符串中找到最長的不

原创 【每日一題】leetcode4尋找兩個正序數組的中位數

題目描述 給定兩個大小分別爲 m 和 n 的正序(從小到大)數組 nums1 和 nums2。請你找出並返回這兩個正序數組的 中位數 。 算法的時間複雜度應該爲 O(log (m+n)) 。 示例 輸入:nums1 = [1,3], num

原创 Mybatis學習筆記(0)---- JDBC

MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。使用簡單的 XML或註解用於配置和原始映射,將接口和 Java 的POJOs(Plain O

原创 CORS(跨域資源共享)筆記

0.前言   CORS(Cross-Origin Resource Sharing)是一個用於處理跨域問題的W3C標準,本文將介紹什麼是跨域,引起跨域的同源策略,什麼是CORS,CORS的工作過程,請求方式以及與它有關的header,最後是

原创 Maven筆記之面試題合集

  簡介:收集整理了網上關於Maven的面試問題,準備面試使用,答案通過各種資料查證編寫。   1.什麼是Maven?    Maven主要服務於基於java平臺的項目構建,依賴管理和項目信息管理。Maven項目對象模型(POM),可以通過