日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

力扣(LeetCode)刷题,简单题(第10期)

發(fā)布時間:2023/11/27 生活经验 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 力扣(LeetCode)刷题,简单题(第10期) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

第1題:有序數(shù)組的平方

第2題:增減字符串匹配

第3題:數(shù)字的補數(shù)

第4題:Nim游戲

第5題:刪除字符串中的所有相鄰重復(fù)項

第6題:除數(shù)博弈

第7題:轉(zhuǎn)換成小寫字母

第8題:生成每種字符都是奇數(shù)個的字符串

第9題:按奇偶排序數(shù)組

第10題:轉(zhuǎn)置矩陣


力扣(LeetCode)定期刷題,每期10道題,業(yè)務(wù)繁重的同志可以看看我分享的思路,不是最高效解決方案,只求互相提升。

第1題:有序數(shù)組的平方

試題要求如下:

回答(C語言):

/*** Note: The returned array must be malloced, assume caller calls free().*/
int cmp (const void * a, const void * b)
{return ( *(int*)a - *(int*)b );
}int* sortedSquares(int* A, int ASize, int* returnSize){*returnSize=ASize;for(int i=0;i<ASize;i++){A[i]=A[i]*A[i];}qsort(A, ASize, sizeof(int), cmp);return A;
}

運行效率如下所示:


第2題:增減字符串匹配

試題要求如下:

回答(C語言):

/*** Note: The returned array must be malloced, assume caller calls free().*/
int* diStringMatch(char * S, int* returnSize)
{int N = strlen(S);int a=N;int b=0;int *ret = (int *)malloc(sizeof(int)*(N+1));*returnSize = N + 1;for (int i=0;i<N;i++){if (S[i] == 'I'){ret[i] = b;b++;}else{ret[i] = a;a--;}}ret[N] = b;return ret;
}

運行效率如下所示:


第3題:數(shù)字的補數(shù)

試題要求如下:

回答(C語言):

int findComplement(int num){long temp = 1;while (num >= temp){temp <<= 1;}return (temp - 1 - num);
}

運行效率如下所示:


第4題:Nim游戲

試題要求如下:

回答(C語言):

bool canWinNim(int n){return (n % 4 != 0); 
}

運行效率如下所示:


第5題:刪除字符串中的所有相鄰重復(fù)項

試題要求如下:

回答(C語言):

char * removeDuplicates(char * S){int i, cnt, len = strlen(S);for(i = 1, cnt = 0;i <= len;++i){if(cnt == -1 || S[i] != S[cnt])S[++cnt] = S[i];else --cnt;}return S;
}

運行效率如下所示:


第6題:除數(shù)博弈

試題要求如下:

回答(C語言):

bool divisorGame(int N){// 如果愛麗絲拿到奇數(shù),則必輸,// 因為奇數(shù)的因數(shù)必為奇數(shù),則N-x必為偶數(shù),// 鮑勃拿到偶數(shù)之后,只需要-1交還給愛麗絲,則愛麗絲再次拿到奇數(shù),// 這樣鮑勃永遠拿到偶數(shù),直到拿到2贏下比賽// 反過來,如果愛麗絲拿到偶數(shù),只需要-1給鮑勃,那么鮑勃就必輸。return N%2==0;
}

運行效率如下所示:


第7題:轉(zhuǎn)換成小寫字母

試題要求如下:

回答(C語言):

char * toLowerCase(char * str){for(int i=0;i<strlen(str);i++){if(str[i]>='A'&&str[i]<='Z')str[i]=str[i]+32;}return str;
}

運行效率如下所示:


第8題:生成每種字符都是奇數(shù)個的字符串

試題要求如下:

回答(C語言):

char * generateTheString(int n)
{char *ret=(char *)malloc(sizeof(char)*(n+1));ret[n]='\0';memset(ret,'a',n);ret[n-1]='a'+(n%2==0);return ret;
}

運行效率如下所示:


第9題:按奇偶排序數(shù)組

試題要求如下:

回答(C語言):

/*** Note: The returned array must be malloced, assume caller calls free().*/
int* sortArrayByParity(int* A, int ASize, int* returnSize){int i=0,j=ASize-1;int temp=0;while(i<j){if(A[i]%2!=0 && A[j]%2==0){temp=A[j];A[j]=A[i];A[i]=temp;}if(A[i]%2==0)i++;if(A[j]%2!=0)j--;}*returnSize=ASize;return A;
}

運行效率如下所示:


第10題:轉(zhuǎn)置矩陣

試題要求如下:

回答(C語言):

/*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/
int** transpose(int** A, int ASize, int* AColSize, int* returnSize, int** returnColumnSizes){int** num=(int**)malloc(sizeof(int*)*(*AColSize));*returnColumnSizes=(int*)malloc(sizeof(int)*(*AColSize));*returnSize=*AColSize;//分配內(nèi)存for(int i=0;i<*AColSize;i++){num[i]=(int*)malloc(sizeof(int)*ASize);returnColumnSizes[0][i] = ASize;}//矩陣轉(zhuǎn)置for(int i=0;i<ASize;i++){for(int j=0;j<*AColSize;j++){num[j][i]=A[i][j];}}return num;
}

運行效率如下所示:

總結(jié)

以上是生活随笔為你收集整理的力扣(LeetCode)刷题,简单题(第10期)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。