原创 用三行代碼實現一個排序(字符串排序 + 數組排序 + Lambd簡單寫法 + int數組List數組互換)

用三行代碼就可以實現一個排序 最近看JDK8中的Lambda表達式,可以把以前寫過的字符串排序代碼縮短到一行代碼;想起來試試用來做做排序;總結一下一下幾個點的知識: 用Collections進行排序,1、傳統的new Comparator

原创 二叉樹的前序遍歷、中序遍歷、後序遍歷的非遞歸實現方式

2019年4月13日17:20:51   今天上午華爲面試的手撕代碼題目!感觸良多! // 前序遍歷 ,遞歸寫法 public void frontTraversal(treeNode node) { if (n

原创 Java併發之線程池

參考資料 https://github.com/crossoverJie/JCSprout/blob/master/MD/ThreadPoolExecutor.md    如何優雅的使用和理解線程池 https://blog.csdn.

原创 ThreadPool中線程複用原理

爲了弄懂線程池中的線程複用原理,詳讀了下面資料: https://mp.weixin.qq.com/s/jISHo8-aKMPjjeCYGJILgg   Java線程池線程複用的祕密 https://blog.csdn.net/u0115

原创 2019年Tencent 筆試編程題

目錄 題目一:最少硬幣問題 題目二: 字符串消除   題目一:最少硬幣問題 問題描述 Mr_he 因討厭馬雲而徹底放棄網購,他的日常用品都要到商場去購買,而且必須付現金。但是現 金購買,經常會遇到找零的問題,那麼現在請你幫助他解決這樣一

原创 Java中volatile關鍵字的最全總結

https://blog.csdn.net/u012723673/article/details/80682208 https://www.cnblogs.com/keeya/p/9255136.html

原创 2019年快手筆試編程題:

題目一:判斷輸入的一組數據,構建二叉樹,能否滿足是滿二叉搜索樹 package writtenExam; import java.util.Scanner; /** * @author hadoop *輸入一組數,形式大概爲:1

原创 類的加載過程詳解:加載、驗證、準備、解析、初始化

想要弄明白的知識點: 類加載的過程,加載、驗證、準備、解析、初始化。每個部分詳細描述。 加載階段讀入.class文件,class文件時二進制嗎,爲什麼需要使用二進制的方式? 驗證過程是防止什麼問題?驗證過程是怎樣的?加載和驗證的

原创 Java實現WordCount,按照行讀取

題目 有一個文件,裏面每一行都是一個字符串,要對所有字符串進行統計,然後排列。(先不考慮內存不夠的情況) 1 思路 這個題,在不考慮內存不夠的情況下,其實是很簡單的,主要涉及到的知識點有兩個: * Java IO *

原创 最長不重複子串:要求得到一個字符串的最長不重複子串的長度 LNRS(Longest no repeating substring)

最長不重複子串 很好理解,即求一個串內最長的不重複子串。 package Findwork; import java.util.HashMap; import java.util.HashSet; /** * @author ha

原创 Java 的集合類:(常用爲vector ArrayList stack linkedlist HashMap hashtable)

Java 的集合類:(常用爲vector ArrayList stack linkedlist hashmap hashtable) 關於Arraylist的使用說明在demo25、demo26中 關於linkedlist的使用說明在de

原创 字節跳動二面手寫:輸出一組數據中的差值爲K的數對(Java HashMap 實現)

字節跳動筆試題1——在n個元素的數組中,找到差值爲k的數字對去重後的個數 開始想的方法一和方法二排序去重均漏掉了下列輸入輸出情況 輸入 :4 0            1 2 1 2 正確輸出:2 方法一方法二輸出:0 (去重了) p

原创 最長迴文子序列:區別於最長迴文串,其序列不要求是連續的 !

在這個地方看到的這個問題:https://github.com/Snailclimb/JavaGuide/blob/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97

原创 KMP算法詳解:使用部分匹配表PMT來理解KMP算法,使用Java實現

  有些算法,適合從它產生的動機,如何設計與解決問題這樣正向地去介紹。但KMP算法真的不適合這樣去學。最好的辦法是先搞清楚它所用的數據結構是什麼,再搞清楚怎麼用,最後爲什麼的問題就會有恍然大悟的感覺。我試着從這個思路再介紹一下。大家只需要

原创 關於逆序的解決思想: 棧(先進後出)+ 遞歸(先執行後結束)+ 其他

關於字符串的反轉: (1)雙指針遍歷,互換;(2)藉助外部空間,使用棧來存  (3)遞歸反轉 (4)stringbuffer自帶方法 關於鏈表的逆序輸出: (1)藉助外部空間,使用棧來存 (2)使用遞歸來輸出 (3)變雙向鏈表就行 感覺主