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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

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

目錄

第1題:剪繩子1

第2題:Excel表列序號

第3題:階乘后的零

第4題:位1的個數

第5題:快樂數

第6題:顛倒二進制

第7題:字符串壓縮

第8題:丑數

第9題:有效的字母異位詞

第10題:各位相加


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

第1題:剪繩子1

試題要求如下:

回答(C語言):

int cuttingRope(int n){int num = 1;if(n == 2)return 1;if(n == 3)return 2;while(n > 4){n = n - 3;num = num * 3;}return num * n;
}//解析:https://leetcode-cn.com/problems/integer-break/solution/343-zheng-shu-chai-fen-tan-xin-by-jyd/

運行效率如下所示:


第2題:Excel表列序號

試題要求如下:

回答(C語言):

int titleToNumber(char * s){int i=0;long num=0;while(s[i]!='\0'){num=num*26+s[i]-'A'+1;i++;}return num;
}

運行效率如下所示:


第3題:階乘后的零

試題要求如下:

回答(C語言):

int trailingZeroes(int n){int count = 0;while(n >= 5) {count += n / 5;n /= 5;}return count;
}

運行效率如下所示:


第4題:位1的個數

試題要求如下:

回答(C語言):

int hammingWeight(uint32_t n) {int cou=0;while(n){if(n%2==1){cou++;}n/=2;}return cou;
}

運行效率如下所示:


第5題:快樂數

試題要求如下:

回答(C語言):

bool isHappy(int n){while(1){if(n<10){if(n==1 || n==7)return true;else return false;}int sum=0;while(n!=0){sum=sum+(n%10)*(n%10);n=n/10;}n=sum;}  
}//在小于10的數中只由1和7是快樂數

運行效率如下所示:


第6題:顛倒二進制

試題要求如下:

回答(C語言):

uint32_t reverseBits(uint32_t n) {uint32_t ans=0;int i=32;while(i--){ans<<=1;ans+=n&1;n>>=1;}return ans;
}

運行效率如下所示:


第7題:字符串壓縮

試題要求如下:

回答(C語言):

char* compressString(char* S){int size = strlen(S);if (size <= 2) return S;char* str = (char*)malloc(sizeof(char) * (2 * size));str[0] = S[0];int count = 1, index = 1;for (int i = 1; i < size + 1; i++) {if (S[i] == S[i - 1]) {count++;}else {int num = (int)log10(count) + index;index = num;while (count) {str[num--] = count % 10 +'0';count /= 10;}str[++index] = S[i];count = 1;++index;}}if (index >= size + 1) return S;return str;
}

運行效率如下所示:


第8題:丑數

試題要求如下:

回答(C語言):

bool isUgly(int num){if(num==0) return 0;while(num%2==0)num=num/2;while(num%3==0) num=num/3;while(num%5==0)num=num/5;return num==1;
}

運行效率如下所示:


第9題:有效的字母異位詞

試題要求如下:

回答(C語言):

解題思路:先判斷兩字符串長度是否相等,若不相等則false,若相等則將兩字符串中每種字母的個數做差,若結果為0則true,不為0則false。

bool isAnagram(char * s, char * t){int n=strlen(s),m=strlen(t);if(n!=m)return false;int a[26]={0};for(int i=0;i<n;i++){a[s[i]-'a']++;a[t[i]-'a']--;}for(int i=0;i<26;i++)if(a[i]!=0)return false;return true;
}

運行效率如下所示:


第10題:各位相加

試題要求如下:

回答(C語言):

int addDigits(int num){int res=0;while(num>=10){while(num){res=res+num%10;num/=10;}num=res;res=0;}return num;
}

運行效率如下所示:

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。