c 牛客刷題記錄2 18

2022-08-24 07:03:12 字數 1391 閱讀 3770

1.c++標籤使用

#includeusing

namespace

std;

intmain()

這裡執行不會報錯,http:作為標籤label的使用,可以實驗goto http;跳轉到這裡,進行cout語句。

1 //例子

2for(int i = 0; i <= 100; i++) 3

9} 1011

//中間可以有很多**

1213

case: cout < <"

case

"< 1415

輸出結果:

16 hello 1

17 hello 2

18 hello 3

19 hello 4

20 case

**參考:

2.scanf的引用要求和陣列的位址

有定義語句:

intb;

charc[10];

則正確的輸入語句是______。 b   

scanf("%d%s",&b,&c);

scanf("%d%s",&b,c);

scanf("%d%s",b,c);

scanf("%d%s",b,&c);

解釋:scanf需要引入變數位址,變數b的變數位址為&b(取址符+變數),而c[10]是陣列,因此c就是陣列的位址。

如果引用c就是對c起乙個別名,c內儲存的位址還是陣列的首位址。

a也可以,但是優先選b。

3.cpu cache預讀效率

x是乙個行列數均為1000二維陣列,下面**效率執行最高的是(d)

for(int j=0;j<1000;j++) for(int i=0;i<1000;i++) x[i][j]+=x[j][i];

for(int i=0;i<1000;i++) for(int j=0;j<1000;j++) x[i][j]+=x[j][i];

for(int i=0;i<1000;j++) for(int j=0;j<1000;j++) x[j][i]+=x[j][i];

for(int i=0;i<1000;i++) for(int j=0;j<1000;j++) x[i][j]+=x[i][j];
解釋:因為cache會預讀當前頁的後幾頁,如果命中,就會繼續預讀後面的頁面,加快速度。

因為陣列的預讀是逐行預讀的,所以d的情況最快,而其他幾個選項有跳列的情況。

牛客網SQL刷題記錄

查詢入職員工時間排名倒數第三的員工所有資訊,為了減輕入門難度,目前所有的資料裡員工入職的日期都不是同一天 select from employees order by hire date desc limit2,1 or select from employees x where3 select s...

牛客劍指offer刷題記錄(七)

演算法導論上應該有這樣的課後題。歸併的思路,假設f i,j 表示陣列i到j的逆序對數,那麼有 f i,j f i k f k 1,j s i j,k 其中s i,j,k 表示逆序對 p q p i k q k 1,j 由於歸併排序,我麼得到兩個有序的子陣列l,r 那麼當出現逆序對 l i r j 時...

牛客劍指offer刷題記錄(五)

鍊錶的指標域中,除了有指向下乙個節點的鍊錶以外,還有乙個指向隨機節點的指標。struct listnode 常規做法,空間換時間。先常規的將拷貝的節點用next串起來,遍歷一遍原始鍊錶,然後尾插法即可。在尾插的同時,建立乙個由原始節點指標p到拷貝節點指標c的乙個map。再次遍歷原始指標,如果指標p指...