原创 【牛客網】子網掩碼題目 Integer.toBinaryString()知識點

輸出如圖,但是我其實想讓16轉化爲: 00010000的形式,但是,沒有實現。 所以如果位數少於8位的話,需要在前面補全。

原创 【牛客網】一個輸出回車的思考 換行的思考

如你所見,我想輸出一定數目的“0”,但是考慮到最後要打印一個換行。所以我採用了錯誤做法,沒有考慮到什麼呢,我沒有考慮到zero爲零的情況。這樣我一定會打印一個0,但是事實上不應該打印。正確的做法如正確做法,我在循環外面打印一個換行

原创 【牛客網】刪除字符串中出現次數最少的字符後的字符串

這道題的意思是:找到一個字符串中出現次數最少的那個字符或者那些字符。都刪掉。 我的思路是,建立一個數組,記錄每個字符出現的次數。找到最少的那個次數。遍歷數組,將次數等於最小值的那些字符的asc碼存在一個list中。然後建立一個

原创 【牛客網】輸入一行字符,分別統計出包含英文字母、空格、數字和其它字符的個數

題目簡單, 但是題目最終需要循環輸入, 但是我看題目,並沒有需要循環輸入呀 看來,以後不管如何,都要循環輸入。

原创 【牛客網】判斷一個字符串是否有 長度大於2 的重複子串

判斷一個字符串是否有 長度大於2 的重複子串 以下的三個例子都通過了測試,但是其實是測試用例有漏洞。沒有類似含有AAAA的測試用例 我的做法:(當然用set就可以了,不必用map,就不改了) 你會發現我對比了很多子串的長

原创 牛客網的三道算法題目

華爲2016校園招聘上機筆試題 牛客網網址鏈接 第一題 import java.util.Scanner; // 真坑,Q x y x居然可以大於y public class Demo11 { publ

原创 LeetCode 和 牛客網 的巨大不同!!!!

少寫了一個空格,所有用例都不能通過,這對一個習慣了LeetCode是極不友好的,希望我能快點習慣

原创 【java的輸入輸出總結】 以及 【應對牛客網的oj】

JAVA,注意類名必須爲Main, 不要有任何package xxx信息 避免用hasNextLine() System.out.println(“要打印的內容”); 類 System: 類 PrintStream:

原创 【LeetCode】1218. 最長定差子序列

解法: 動態規劃解題。我遍歷數組,遍歷到某個元素x,我想知道以它爲結尾的等差子數列的最大長度是多少。那我需要知道這個元素x之前的 以(x-difference)結尾的等差子數列的最大長度,然後再加一就行了。這就是動態規劃的思想。

原创 排序算法 之快速排序

可謂是“歸併排序”的姊妹篇 歸併排序是先對半分,分別排序,再合併,合併的過程相對複雜 快速排序是先分成兩撥,第一波的數都小於等於第二波的數,然後分別進行排序。 快速排序的核心在於,將要排序的這一段的數組的第一個數放到它改到地地方去

原创 Java中Scanner.nextLine() Scanner.nextInt()

參考鏈接 這兩個函數的處理機制不同 nextInt()函數在緩衝區中遇到“空格”、“回車符”等空白字符時會將空白字符前的數據讀取走,但空白字符不會被處理掉 nextLine()函數是在緩衝區中讀取一行數據,這行數據以“回車符”爲結

原创 用來熟悉牛客網OJ的一道題目

import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args)

原创 排序算法 之 歸併排序

採用了遞歸和分治的思想 兩個關鍵步驟:1.劃分半子表 2.合併半子表 就是合併的部分相對繁瑣。 public static void main(String[] args) { int[] arr = n

原创 String類中的replace方法

並不是在原始字符串上改變,而是創建了一個新的對象,並做替換。 如下的例子,發現原始字符串並沒有改變。