Leetcode刷題中關於java的一些小問題
1.java 中一些經典資料結構的寫法:
Java Stack 類
棧是Vector的一個子類,它實現了一個標準的後進先出的棧。
EG:
import java.util.*;
Stack<Integer> st = new Stack<Integer>();
佇列:
Queue<String> queue = new LinkedList<String>();
2.將String和int型
*int轉String:String.valueOf(int);
*String轉int:
parseInt() 方法用於將字串引數作為有符號的十進位制整數進行解析。
EG:
int x =Integer.parseInt("9");
3.對字串做處理時善用字串內建函式及正規表示式
EG:
String.trim() String.split()
String與list結合:String.join(list);
*當分隔符是句號時("."),需要轉義:"\\*"
4.List翻轉:Collections.reverse();
翻轉陣列的話可以先轉為Aarray再用上函式(Arrays.asList())
5. int的範圍是-2147483648~2147483647所以當對數字處理相關的題目時,取絕對值時應先轉成long型
EG:
且應寫成:
long a=aa
p=Math.abs(a);
long b=bb
q=Math.abs(b);
寫成如下,會出錯:
long p=Math.abs(a);
long q=Math.abs(b);
6.有時可以將問題抽象成一個特別的排序問題,然後通過重寫sort方法的compartor來實現(leetcode179)
7.字串轉char型陣列
char[] s = word.toCharArray();
8.陣列擷取:
將陣列a的前5個複製到b,將a1的後4個複製到b,組合成新陣列b:
-------------------------------------------------------------------------------------------------------------------
int[] a = {2,2,2,2,2,0,0,0,0};
int[] a1 = {0,0,0,0,0,1,1,1,1};
int[] b=new int[9];
//引數:陣列源,拷貝的起始下標,目標陣列,填寫的起始下標,拷貝的長度)
System.arraycopy(a, 0, b, 0, 5);
System.arraycopy(a1, 5, b, 5, 4);
for(int i=0;i<b.length;i++){
System.out.print(b[i]);
}
-------------------------------------------------------------------------------------------------------------------
輸出:222221111
9.treeset的使用
treeset是基於紅黑樹構建的,可利用其特性進行快速搜尋(220. Contains Duplicate III)
public SortedSet<E> subSet(E fromElement,E toElement)
-
fromElement-- 這是返回集合的低端點(包括)。
-
toElement-- 這是返回集合的高點(不包括)。
10.遇到數字過大問題是把int都轉成long
11.Character.isDigit() 判斷字元是否為數字
12.遍歷棧:
for (int i : stack) {
res += i;
}
其中 stack為所定義的棧
相關文章
- 關於Redis的一些小問題Redis
- 關於資料庫連線的一些小問題資料庫
- 關於css佈局、居中的問題以及一些小技巧CSS
- [LeetCode刷題筆記] 關於LeetCode的前言LeetCode筆記
- 一個關於Java Excel的問題JavaExcel
- java中關於Map的九大問題Java
- 關於Java中分層中遇到的一些問題Java
- leetcode刷題(一)LeetCode
- 小程式專案中的一些小問題
- vue工作中遇到的一些小問題Vue
- LeetCode 刷題指南(一):為什麼要刷題LeetCode
- 一個關於java.net.URL的問題.Java
- 關於Java NIO的一些問題,求助。Java
- 一些小問題彙總
- 關於java的“原子操作”問題Java
- 請教一個關於JAVA SOCKET程式設計中的問題Java程式設計
- Java中關於二分查詢的問題Java
- Elasticsearch中關於transform的一個問題分析ElasticsearchORM
- 關於學習java中的按位取反(~)的問題Java
- 關於leetdcode刷題技巧
- Java關於初始化問題的總結(一)Java
- Java中關於String型別的10個問題Java型別
- java web中關於修改xml後讀取值的問題JavaWebXML
- 關於教程的一個問題
- 教你如何解決PostgreSQL Array使用中的一些小問題SQL
- 一個關於Java Socket的問題,大家看一下Java
- 用 Rust 刷 leetcode 第一題RustLeetCode
- 關於工作中遇到的問題
- 關於cuda中的函式問題函式
- 關於 iOS 10 中 ATS 的問題iOS
- 關於struts中html:errors/的問題HTMLError
- LeetCode刷題:設計問題篇(C++實現,持續更新中...)LeetCodeC++
- LeetCode刷題整理LeetCode
- LeetCode刷題 堆LeetCode
- LeetCode 刷題—樹LeetCode
- 關於C++&Java中命令列編譯的問題 (轉)C++Java命令列編譯
- 關於Java編碼規範的問題Java
- 請教大家關於java效能的問題Java