【JAVA】代碼部分知識(shí)點(diǎn)記錄

本文通過看一些別人的代碼员辩,來更新一下自己的JAVA知識(shí)庫


一沐祷、不同子串問題:

【問題描述】

一個(gè)字符串的非空子串是指字符串中長度至少為 1 的連續(xù)的一段字符組成的串。例如绸狐,字符串a(chǎn)aab 有非空子串a(chǎn), b, aa, ab, aaa, aab, aaab谎碍,一共 7 個(gè)鳞滨。注意在計(jì)算時(shí),只算本質(zhì)不同的串的個(gè)數(shù)蟆淀。

請(qǐng)問拯啦,字符串0100110001010001 有多少個(gè)不同的非空子串?

import java.util.HashSet;
 
public class B不同字串 { // 100
    public static void main(String[] args) {
        HashSet set = new HashSet();
        String str = "0100110001010001";
        int N = str.length(); // 16
        while (N > 0) { // 循環(huán)16次 N: 16 -> 1
            int dis = str.length() - N + 1; // dis: 1 -> 16
            for (int i = 0; i < N; i++) {
                String ss = str.substring(i, i + dis); // 字串長度: 1 -> 16
                set.add(ss);
            }
            N--;
        }
        System.out.println(set.size());
    }
}

(1)java.util.HashSet 類實(shí)現(xiàn)Set接口熔任,由哈希表支持,相信學(xué)過數(shù)據(jù)結(jié)構(gòu)的人應(yīng)該都了解哈希表褒链,這里就不做過多介紹了。HashSet set = new HashSet();

(2)str.substring(i, i + dis)用于獲取從第i到第i+dis位置的子字符串疑苔,包括起點(diǎn)甫匹,不包括終點(diǎn)

(3)set.add(ss)夯巷,此方法用來向 Set 集合添加對(duì)象赛惩。如果 Set 集合中已經(jīng)包含相同的對(duì)象,則不改變 Set 集合趁餐。該方法返回值為 boolean 對(duì)象喷兼,如果 Set 集合中不包含要添加的對(duì)象,則添加對(duì)象并返回 true后雷,否則返回 false季惯。set.size(),用于獲得該集合的大小。


JAVA中數(shù)組記得一定要?jiǎng)?chuàng)建臀突,例如:int[] path = new int[n + 1];勉抓,有時(shí)候會(huì)使用C或C++的綜合征,總會(huì)忘記先創(chuàng)建數(shù)組候学。


二藕筋、

記憶點(diǎn):若求某個(gè)數(shù)的最后幾位數(shù)字,取余即可梳码,如求最后 4 位數(shù)字

arr[i] %= 10000;

三隐圾、

String aa;
for (int i1 = 1; i1 <= 673; i1++) {
    aa = String.valueOf(i1);
    if (aa.contains("2") || aa.contains("4"))
        continue;

String.valueOf(i1),轉(zhuǎn)換為字符串類型掰茶,且aa.contains("2")可直接判斷字符串中是否有‘2’


四暇藏、確定在一個(gè)字符串word中,某個(gè)字符串“Alice”pos1開始時(shí)的位置:

poss1=word.indexOf("Alice",pos1);

五濒蒋、輸入一個(gè)整數(shù)后再輸入字符串:

注意中間要加上語句input.nextLine();

int K=input.nextInt();
input.nextLine();
String word=input.nextLine();

六盐碱、判斷一個(gè)字符是否是字母或數(shù)字:

Character.isDigit( char ch )   // 判斷ch是否是數(shù)字字符,如'1','2'瓮顽,是返回true县好。否則返回false

Character.isLowerCase(c) || Character.isUpperCase(c) // 判斷ch是否是字母字符,如'a'趣倾,'b'聘惦,是返回true。否則返回false

Character.isLetterOrDigit( char ch ) // 判斷ch是否是字母或數(shù)字字符儒恋,如'a'善绎,'b','1'诫尽,'2'禀酱,是返回true。否則返回false

HashSet<String> set = new HashSet<String>();
for(String str: set)//遍歷
        {
            System.out.println(str);
            int len=str.length();
            HashSet<String> set1=new HashSet<String>();
            for(int i=0;i<len;i++)
            {
                String sss=str.substring(i,i+1);
                set1.add(sss);
            }
            sum=sum+set1.size();
        }

HashSet清除用set.clear();牧嫉,看是否包含用boolean is = set.contains(str);

char[] arr1 = scan.nextLine().toCharArray();//toCharArray()變成字符數(shù)組

 Arrays.fill(arr2, -1);//填充arr2數(shù)組中的每一個(gè)元素都是-1

十剂跟、求最大公約數(shù)(gcd)

 public static int gcd(int a,int b)//Greatest Common Divisor

 {
    int n = 0;

    while(b!=0)

    {
            n = a % b;

            a = b;

            b = n;

    }

    return a;  

 }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市酣藻,隨后出現(xiàn)的幾起案子曹洽,更是在濱河造成了極大的恐慌,老刑警劉巖辽剧,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件送淆,死亡現(xiàn)場離奇詭異,居然都是意外死亡怕轿,警方通過查閱死者的電腦和手機(jī)偷崩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撞羽,“玉大人阐斜,你說我怎么就攤上這事【魑桑” “怎么了谒出?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長邻奠。 經(jīng)常有香客問我到推,道長,這世上最難降的妖魔是什么惕澎? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮颜骤,結(jié)果婚禮上唧喉,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好八孝,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布董朝。 她就那樣靜靜地躺著,像睡著了一般干跛。 火紅的嫁衣襯著肌膚如雪子姜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天楼入,我揣著相機(jī)與錄音哥捕,去河邊找鬼。 笑死嘉熊,一個(gè)胖子當(dāng)著我的面吹牛遥赚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阐肤,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼凫佛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了孕惜?” 一聲冷哼從身側(cè)響起愧薛,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎衫画,沒想到半個(gè)月后毫炉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡碧磅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年碘箍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鲸郊。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡丰榴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秆撮,到底是詐尸還是另有隱情四濒,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布职辨,位于F島的核電站盗蟆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏舒裤。R本人自食惡果不足惜喳资,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望腾供。 院中可真熱鬧仆邓,春花似錦鲜滩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搞疗,卻和暖如春嗓蘑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背匿乃。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國打工桩皿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扳埂。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓业簿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親阳懂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梅尤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354