国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

這篇具有很好參考價(jià)值的文章主要介紹了刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1. 數(shù)據(jù)庫中,count不會(huì)返回null值,max和concat可能會(huì)返回null值

2. 數(shù)據(jù)庫特點(diǎn): 共享性高,冗余度小,安全性強(qiáng),獨(dú)立性強(qiáng)

3.??top是sql server中的關(guān)鍵字,用于求前n條數(shù)據(jù)

4. 數(shù)據(jù)庫使用函數(shù)進(jìn)行全部掃描(數(shù)據(jù)遍歷)最慢,并且函數(shù)執(zhí)行本身也是需要耗時(shí)的

5.? 使用%作為通配符時(shí),匹配的是0個(gè)以上的字符(包含0)

6.??RDBS是關(guān)系型數(shù)據(jù)庫,hadoop是大數(shù)據(jù)方向的數(shù)據(jù)庫不是關(guān)系型數(shù)據(jù)庫

7. 統(tǒng)計(jì)每個(gè)月兔子的總數(shù)

8. 查找兩個(gè)字符串a(chǎn),b中的最長公共子串

9. 汽水瓶

10.?二叉樹中只有完全二叉樹可以使用順序表存儲(chǔ)

11. 遞歸函數(shù)的出口就是,用一個(gè)分支不調(diào)用自身,直接return

12.??已知二叉樹后續(xù)遍歷序列是bfegcda,中序遍歷序列是badefcg,它的前序遍歷序列是: B.abdcefg

13.?對于順序表存儲(chǔ)的線性表,訪問結(jié)點(diǎn)和增加結(jié)點(diǎn)的時(shí)間復(fù)雜度為(C)

14.?初始序列為1 8 6 2 5 4 7 3的一組數(shù)采用堆排序,當(dāng)建堆(小根堆)完畢時(shí),堆所對應(yīng)的二叉樹中序遍歷序列為:( A)

15. 公共子串計(jì)算


1. 數(shù)據(jù)庫中,count不會(huì)返回null值,max和concat可能會(huì)返回null值

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

(1)count(*)一定可以返回?cái)?shù)值,如果t1中沒有數(shù)據(jù),返回0

(2)max返回null 有兩種可能情況:(1)t1中沒有數(shù)據(jù)? ? (2)coll字段,全都是null

(3)concat():字符串拼接的函數(shù)(數(shù)據(jù)庫中,字符串不能使用+拼接)

如果拼接的其中一個(gè)字符串是null,結(jié)果就是null

所以答案選D


2. 數(shù)據(jù)庫特點(diǎn): 共享性高,冗余度小,安全性強(qiáng),獨(dú)立性強(qiáng)

?刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

?數(shù)據(jù)庫管理系統(tǒng)的特點(diǎn):

共享性高,冗余度?。ㄍㄟ^關(guān)聯(lián),就可以共享;邏輯和物理上,獨(dú)立性高);

具有高度的物理獨(dú)立性和邏輯獨(dú)立性;

整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述;

由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復(fù)能力。


3.??top是sql server中的關(guān)鍵字,用于求前n條數(shù)據(jù)

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

?top,是sql server中的關(guān)鍵字,用于求前n條數(shù)據(jù)(如果查從m到n條,要寫子查詢)

語法:select top n 查詢字段 from


4. 數(shù)據(jù)庫使用函數(shù)進(jìn)行全部掃描(數(shù)據(jù)遍歷)最慢,并且函數(shù)執(zhí)行本身也是需要耗時(shí)的

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

PhoneNo是數(shù)字組成(使用數(shù)值數(shù)據(jù)類型),和字符串可以比較,但是會(huì)進(jìn)行類型轉(zhuǎn)換(有點(diǎn)耗時(shí))

like:模糊匹配,最開始xxx的匹配,可以使用索引

substr()使用函數(shù),不會(huì)再使用索引,全部掃描(全部數(shù)據(jù)遍歷),函數(shù)本身的執(zhí)行,也是需要耗時(shí)的(最慢)?


5.? 使用%作為通配符時(shí),匹配的是0個(gè)以上的字符(包含0)

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)


6.??RDBS是關(guān)系型數(shù)據(jù)庫,hadoop是大數(shù)據(jù)方向的數(shù)據(jù)庫不是關(guān)系型數(shù)據(jù)庫

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

?RDBS是關(guān)系型數(shù)據(jù)庫,hadoop是大數(shù)據(jù)方向的數(shù)據(jù)庫,不是關(guān)系型數(shù)據(jù)庫


7. 統(tǒng)計(jì)每個(gè)月兔子的總數(shù)

題目鏈接:統(tǒng)計(jì)每個(gè)月兔子的總數(shù)_??皖}霸_??途W(wǎng) (nowcoder.com)

題目要求:

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

?題目分析:

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

上代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-408719.html

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int d = scan.nextInt();

        int[] arr = new int[31];
        arr[0] = 1;
        arr[1] = 1;
        for (int i = 2; i < d; i++) {
            arr[i] = arr[i-2] + arr[i-1];
        }
        System.out.println(arr[d-1]);
    }
}

8. 查找兩個(gè)字符串a(chǎn),b中的最長公共子串

題目鏈接:查找兩個(gè)字符串a(chǎn),b中的最長公共子串_??皖}霸_牛客網(wǎng) (nowcoder.com)

題目要求:

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

?題目分析:

這道題可以考慮使用動(dòng)態(tài)規(guī)劃來做,

因?yàn)閯?dòng)態(tài)規(guī)劃是分治思想,也就是將問題化簡,大問題化為小問題,先解決小問題,再用小問題的解推導(dǎo)出大問題的解

動(dòng)態(tài)規(guī)劃的特征也就是:

(1)把原來的問題分解為幾個(gè)相似的子問題

(2)所有的子問題都只需要解決一次

(3)存儲(chǔ)子問題的解

這道題的問題:兩個(gè)字符串的最長公共子串

子問題:a的子串?和 b的子串 中最長公共子串

抽象子問題: a的前 i 個(gè)字符 和 b的前 j 個(gè)字符中,他們的最長公共子串

根據(jù)動(dòng)態(tài)規(guī)劃四步走分析:

(1)狀態(tài): a的前 i 個(gè)字符 和 b的前 j 個(gè)子符中最長公共子串的長度

如果要知道最長公共子串具體內(nèi)容:長度,起始位置,結(jié)束位置

?F(i , j): 以a的第 i 個(gè)子符結(jié)尾的子串 和 以b的第 j 個(gè)子符結(jié)尾的子串 , 其最長公共子串的長度

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

?(2)狀態(tài)轉(zhuǎn)移方程:

如果a的第i個(gè)字符和b的第j個(gè)字符相同 F(i,j) = F(i-1 , j-1)? + 1

不相同:0

(3)起始位置:i - maxLen:4-4 = 0 (maxLen最長公共子串長度)

(4)返回值:最長子串的內(nèi)容

上代碼

import java.io.*;
import java.util.*;


public class Main {
    private static String getMaxSubstr(String str1, String str2) {
        char[] arr1 = str1.toCharArray();
        char[] arr2 = str2.toCharArray();

        int len1 = arr1.length;
        int len2 = arr2.length;
        int[][] maxSubLen = new int[len1+1][len2+1];
        //最長子串的起始位置
        int start  = 0;
        //最長子串的長度
        int maxLen = 0;

        for(int i = 1; i <= len1; i++) {
            for(int j = 1; j <= len2; j++) {
                //如果第i個(gè)字符和第j個(gè)字符相等,則進(jìn)行累加
                if(arr1[i-1] == arr2[j-1]) {
                     maxSubLen[i][j] =  maxSubLen[i-1][j-1] + 1;
                }
                //更新
                if( maxSubLen[i][j] > maxLen) {
                    maxLen = maxSubLen[i][j];
                    start = i - maxLen;
                }
            }
        }
        return str1.substring(start,start+maxLen);
    }
    
    public static void main (String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str1;
        String str2;
        if((str1 = br.readLine()) != null) {
            str2 = br.readLine();
            if(str1.length() < str2.length()) {
                System.out.println(getMaxSubstr(str1,str2));
            }else {
                System.out.println(getMaxSubstr(str2,str1));
            }
        }
    }
}

9. 汽水瓶

題目鏈接:汽水瓶_??皖}霸_??途W(wǎng) (nowcoder.com)

題目要求:

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

?刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

?題目分析:

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

上代碼

import java.util.Scanner;

// 注意類名必須為 Main, 不要有任何 package xxx 信息
public class Main {
    private static int getNum (int num) {
        //累加汽水的個(gè)數(shù)
        int sum = 0;
        while(num > 1) {
            sum += num/3;
            //空汽水瓶的個(gè)數(shù)
            num = num/3 + num%3;
            //特殊情況,空瓶剩余2
            if(num == 2) {
                sum++;
                break;
            }
        }
        return sum;
    }
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while(scan.hasNext()) {
            int num = scan.nextInt();
            if(num == 0) {
                break;
            }else {
                System.out.println(getNum(num));
            }
        }
    }
    
}

10.?二叉樹中只有完全二叉樹可以使用順序表存儲(chǔ)

下列數(shù)據(jù)結(jié)構(gòu)中,不能采用順序存儲(chǔ)結(jié)構(gòu)的是()

A.非完全二叉樹? ? ? B. 堆? ? ? C. 隊(duì)列? ? ? ? D. 棧

這道題選A ,

二叉樹中只有完全二叉樹可以使用順序表存儲(chǔ),

而非完全二叉樹只能采用鏈?zhǔn)酱鎯?chǔ)(Node left, Node right)

堆的底層就是一顆完全二叉樹,也就是順序存儲(chǔ)結(jié)構(gòu)

隊(duì)列和棧也可以采用順序表也就是數(shù)組來存儲(chǔ)


11. 遞歸函數(shù)的出口就是,用一個(gè)分支不調(diào)用自身,直接return

遞歸函數(shù)最終會(huì)結(jié)束,那么這個(gè)函數(shù)一定?

A.使用了局部變量? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? B.有一個(gè)分支不調(diào)用自身? ?

C.使用了全局變量或者使用了一個(gè)或多個(gè)參數(shù)? ? ? ? ? ?D,沒有循環(huán)調(diào)用

遞歸函數(shù)的終止條件.也就是遞歸函數(shù)的出口:函數(shù)調(diào)用過程中有一個(gè)分支直接return,不會(huì)一直調(diào)用下去,所以這個(gè)選B


12.??已知二叉樹后續(xù)遍歷序列是bfegcda,中序遍歷序列是badefcg,它的前序遍歷序列是: B.abdcefg

已知二叉樹后續(xù)遍歷序列是bfegcda,中序遍歷序列是badefcg,它的前序遍歷序列是:

A,abcdefg? ? ? ? ? ? ? ? B.abdcefg? ? ? ? ? ? ? ?C.adbcfeg? ? ? ? ? ? ? ? ? ? ? ?D,abecdfg

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)


13.?對于順序表存儲(chǔ)的線性表,訪問結(jié)點(diǎn)和增加結(jié)點(diǎn)的時(shí)間復(fù)雜度為(C)

對于順序表存儲(chǔ)的線性表,訪問結(jié)點(diǎn)和增加結(jié)點(diǎn)的時(shí)間復(fù)雜度為()

A O(n) O(n)? ? ? ? ?B O(n)?O(1)? ? ? ? ? C O(1) O(n)? ? ? ? ? D O(1)?O(1)

順序存儲(chǔ)的線性表,可以直接通過下標(biāo)訪問結(jié)點(diǎn),所以時(shí)間復(fù)雜度O(1)

而增加結(jié)點(diǎn)最壞情況下,在數(shù)組頭部增加結(jié)點(diǎn),時(shí)間復(fù)雜度為O(n)選C


14.?初始序列為1 8 6 2 5 4 7 3的一組數(shù)采用堆排序,當(dāng)建堆(小根堆)完畢時(shí),堆所對應(yīng)的二叉樹中序遍歷序列為:( A)

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)


15. 公共子串計(jì)算

題目鏈接:公共子串計(jì)算_??皖}霸_??途W(wǎng) (nowcoder.com)

題目要求:

刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)

題目分析:

這道題和前面第8題可以說是一樣的

第8題是求兩個(gè)字符串的最長公共子串(是求出最長公共子串的起始位置,和公共最長子串長度來算出末尾位置,進(jìn)行字符串截取)

而這道題是求兩個(gè)字符串的最長公共子串的長度(也就是直接求出最長子串的長度就可以了)

這里再寫一遍動(dòng)態(tài)規(guī)劃四步走吧

(1)狀態(tài): 以第一個(gè)字符串第i個(gè)字符結(jié)尾和以第二個(gè)字符串第j個(gè)字符結(jié)尾的最大公共子串的長度

(2)狀態(tài)轉(zhuǎn)移方程:

第i個(gè)字符 != 第j個(gè)字符? F(i , j) = 0

第i個(gè)字符 == 第j個(gè)字符? F(i , j) = F(i-1 , j-1) +1

(3)初始狀態(tài):F(i,0) = F(0?, j):0

(4)返回值:max(F(i,j))

上代碼

import java.util.Scanner;
import java.io.*;
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str1 = br.readLine();
        String str2 = br.readLine();
        if(str1.length() > str2.length()) {
            System.out.println(getMaxStr(str1,str2));
        } else {
            System.out.println(getMaxStr(str2,str1));
        }

    }
    private static int getMaxStr(String a, String b) {
        int aLen = a.length();
        int bLen = b.length();
        int[][] ab = new int[aLen+1][bLen+1];
        int maxLen = 0;//記錄最長子串長度
        for(int i = 1; i <= aLen; i++) {
            for(int j = 1; j <= bLen; j++) {
                if(a.charAt(i-1) == b.charAt(j-1)) {
                    //狀態(tài)轉(zhuǎn)移方程
                    ab[i][j] = ab[i-1][j-1] + 1;
                }
                //更新長度
                if(ab[i][j] > maxLen) {
                    maxLen = ab[i][j];
                }
            }
        }
        return maxLen;
    }
}

到了這里,關(guān)于刷題筆記之七(統(tǒng)計(jì)每個(gè)月兔子的總數(shù)+汽水瓶+查找兩個(gè)字符串a(chǎn),b中的最長公共子串+公共子串計(jì)算)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包