原创 Python實現最大堆(大頂堆)

最大堆是指最大的元素在堆頂的堆。Python自帶的heapq模塊實現的是最小堆,沒有提供最大堆的實現。雖然有些文章通過把元素取反再放入堆,出堆時再取反,把問題轉換爲最小堆問題也能間接實現最大堆,但是這樣的實現只適合數值型的元素,不適合自定

原创 bat腳本控制網卡的禁用和啓用

純DOS就可以搞定。 核心代碼: netsh interface set interface "本地連接" disabled netsh interface set interface "本地連接" enabled 其中"本地連接"是網卡

原创 JAVA File類的hashCode()和計算文件hash值的區別

File類的hashCode()和計算文件的hash值是不同的東西。區別: File類的hashCode()只是計算文件的相對路徑hash值。計算文件的hash值是計算文件內容的hash值。 File類的hashCode()測試代碼:

原创 Python時間差中seconds和total_seconds的區別

在python中經常會用到計算兩個時間差,兩個日期類型進行相減可以獲取到時間差。 經常會使用seconds來獲取,其實seconds獲取的是僅僅是時間差的秒數,忽略微秒數,忽略天數。 total_seconds()是獲取兩個時間之間的總差

原创 python的字符串連接

最原始的字符串連接方式是使用加號(+):str1 + str2 這種連接方式是運行時的字符串連接,還有一種方式是編譯時字符串連接(ref:《Python核心編程(中文第二版)》)。 Python 的語法允許你在源碼中把幾個字符串連在一起寫

原创 gradle導出依賴的jar包

在項目的build.gradle文件裏添加以下代碼: task copyJars(type:Copy) {   from configurations.runtime   into 'dist' // 目標位置 } 然後在命令行下cd到b

原创 開源中文切詞工具介紹

開源中文分詞工具介紹 這裏介紹常用的開源中文分詞工具,大部分是java實現。如果是java生產環境,建議使用ansj、word或HanNlp。 Bakeoff是一個國際中文處理比賽,有多個語料,所以每個語料都有排名。 最後一小節介紹分詞

原创 Python異常處理學習筆記

1.異常處理       1.1.  捕捉和處理異常 語法: 以下爲try....except...else的語法: try: <語句>        #運行別的代碼 except <名字>: <語句>        #如果在try

原创 java創建文件和目錄

Apache Commons IO(jar包)封裝了一些文件的操作方法,verygood. 一篇介紹   下面講的是基於JDK的文件操作方法。 創建文件和目錄的關鍵技術點如下:  1、File類的createNewFile根據抽象路徑創建

原创 C++創建動態數組

創建動態一維數組int *p = new int [n];//釋放內存delete[] p; 創建動態二維數組例如創建M*N的二維數組:int **c = new int*[M];for(int i=0; i<M;i++) {c[i] =

原创 浮點數精度控制

有時候需要控制浮點數小數點後面數的位數,這就涉及浮點數精度控制。 浮點數精度控制示例 關鍵點:        DecimalFormat df = new DecimalFormat("0.000");          String

原创 java中判斷字符串是否爲數字的三種方法

1.JAVA自帶的函數 public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isD

原创 Java Map排序——按key和按value

Map的排序分爲按key排序和按value排序。這裏講講這兩種方法。 一、按key排序 藉助TreeMap來按key排序。TreeMap默認按key進行升序排序。如果想改變默認的順序,定義一個Comparator即可。 代碼: publi

原创 Python發送Http請求時,中文亂碼問題的解決方法

解決方法: 先encode再quote。 原理: msg.encode('utf-8')是解決中文亂碼問題。 quote():假如URL的 name 或者 value 值中有『&』、『%』或者『=』等符號,就會有問題。所以URL中的參數

原创 java文件編碼轉換

關鍵點:用FileInputStream和FileOutputStream。 br  = new BufferedReader(newInputStreamReader(new FileInputStream(   srcFileName