LeetCode-C++-easy
LeetCode-C++-easy
happy life 2022
这个作者很懒,什么都没留下…
展开
-
LeetCode-389. 找不同-easy
题目链接class Solution {public: char findTheDifference(string s, string t) { map<char,int> mp; for(int i=0;i<s.length();i++){ mp[s[i]]++; } char ans; for(int i=0;i<t.length();i++){原创 2021-05-07 10:55:54 · 66 阅读 · 0 评论 -
LeetCode-485. 最大连续 1 的个数-easy
题目链接方法一:一次遍历class Solution {public: int findMaxConsecutiveOnes(vector<int>& nums) { int cnt=0,maxcnt=0; for(int i=0;i<nums.size();i++){ if(nums[i]==1) cnt++; else{ maxcnt=cnt>ma原创 2021-05-15 10:51:49 · 61 阅读 · 0 评论 -
LeetCode-482. 密钥格式化-easy
题目链接class Solution {public: string licenseKeyFormatting(string s, int k) { string temp=""; for(int i=0;i<s.length();i++){ if(s[i]!='-') temp+=toupper(s[i]); } string ans=""; int len=temp.length()原创 2021-05-15 10:02:41 · 67 阅读 · 0 评论 -
LeetCode-476. 数字的补数-easy
题目链接class Solution {public: int findComplement(int num) { int a=num,b=0; while(a!=0){ //假设初始a的二进制是101,b的二进制是0 a=a>>1; b=(b<<1)+1; //注意括号(b<<1),加减运算符优先级高于位移运算 } //结果a的二进制变为0,b的二进制变为111原创 2021-05-14 11:18:20 · 84 阅读 · 0 评论 -
LeetCode-463. 岛屿的周长-easy
题目链接class Solution {public: int islandPerimeter(vector<vector<int>>& grid) { int cnt=0; for(int i=0;i<grid.size();i++){ for(int j=0;j<grid[i].size();j++){ if(grid[i][j]==1){ //陆地原创 2021-05-14 10:50:29 · 67 阅读 · 0 评论 -
LeetCode-461. 汉明距离-easy
题目链接class Solution {public: int hammingDistance(int x, int y) { int cnt=0; while(x!=0||y!=0){ if(x%2!=y%2) cnt++; //逐位分解并判断 x/=2; y/=2; } return cnt; }};知识:进制间的转化...原创 2021-05-13 10:49:42 · 53 阅读 · 0 评论 -
LeetCode-459. 重复的子字符串-easy
题目链接class Solution {public: bool repeatedSubstringPattern(string s) { int len=s.length(); for(int i=1;i<=len/2;i++){ //i表示子串的长度 if(len%i!=0) continue; //若该子串长度不能被s长度整除,则不必继续判断 string s1=s.substr(0,i); //截取子串原创 2021-05-13 10:36:47 · 58 阅读 · 0 评论 -
LeetCode-453. 最小操作次数使数组元素相等-easy
题目链接class Solution {public: /*每次n-1个数都+1,最后所有数都相等,等价于每次将其中⼀个数-1,最后所有数都相等 最后所有数都相等的那个数一定是最小的那个数*/ int minMoves(vector<int>& nums) { int min=INT_MAX; for(int i=0;i<nums.size();i++){ min=nums[i]<min?nu原创 2021-05-12 10:50:40 · 99 阅读 · 0 评论 -
LeetCode-441. 排列硬币-easy
题目链接class Solution {public: int arrangeCoins(int n) { long long i=0; //防止溢出 int row=0,cnt=0; while(i<=n){ row++; i+=row; if(i<=n) cnt++; } return cnt; }};...原创 2021-05-12 10:24:10 · 44 阅读 · 0 评论 -
LeetCode-38. 外观数列-easy
题目链接class Solution {public: string countAndSay(int n) { string s="1"; for(int i=1;i<n;i++){ int j,k; string t; for(j=0;j<s.length();j=k){ for(k=j;k<s.length()&&s[k]=原创 2021-05-11 13:17:26 · 80 阅读 · 0 评论 -
LeetCode-434. 字符串中的单词数-easy
题目链接class Solution {public: //坑:这里的单词指的是连续的不是空格的字符 int countSegments(string s) { int cnt=0,i=0; bool flag=false; //" "这种情况 while(i<s.length()){ while(i<s.length()&&s[i]!=' '){原创 2021-05-11 10:54:02 · 87 阅读 · 0 评论 -
LeetCode-415. 字符串相加-easy
题目链接class Solution {public: string addStrings(string num1, string num2) { int len1=num1.length(),len2=num2.length(); int len=len1>len2?len1:len2; string s1(len-len1,'0'); //拷贝len-len1个字符'0'到s1 string s2(len-len2,'0'原创 2021-05-11 10:32:32 · 65 阅读 · 0 评论 -
LeetCode-414. 第三大的数-easy
题目链接class Solution {public: /* st.rbegin() 返回一个逆序迭代器,它指向容器st的最后一个元素。 反向迭代器是一种反向遍历容器的迭代器。也就是,从最后一个元素到第一个元素遍历容器。 反向迭代器将自增(和自减)的含义反过来了。 */ int thirdMax(vector<int>& nums) { set<int> st; for(int i=0;i&l原创 2021-05-10 10:38:41 · 46 阅读 · 0 评论 -
LeetCode-409. 最长回文串-easy
题目链接class Solution {public: int longestPalindrome(string s) { int hash[128]={0}; for(int i=0;i<s.length();i++){ hash[s[i]]++; } int len=0,add=0; for(int i=0;i<128;i++){ if(hash[i]%原创 2021-05-10 10:12:27 · 62 阅读 · 0 评论 -
LeetCode-405. 数字转换为十六进制数-easy
题目链接class Solution {public: string toHex(int num) { string ans="",hash="0123456789abcdef"; for(int i=1;i<=8;i++){ //int是32位二进制,故右移8次即可 ans+=hash[num&15]; //15的二进制为1111 num=num>>4; //每次右移4位原创 2021-05-09 16:35:17 · 70 阅读 · 0 评论 -
LeetCode-404. 左叶子之和-easy
题目链接/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {原创 2021-05-09 10:16:39 · 53 阅读 · 0 评论 -
LeetCode-401. 二进制手表-easy
题目链接class Solution {public: vector<string> readBinaryWatch(int turnedOn) { vector<string> ans; for(int h=0;h<12;h++){ //小时 for(int m=0;m<60;m++){ //分钟 //2^6=64>59,故h<<6,这样h和m互不影响,原创 2021-05-08 11:08:01 · 84 阅读 · 0 评论 -
LeetCode-367. 有效的完全平方数-easy
题目链接class Solution {public: bool isPerfectSquare(int num) { int left=0,right=INT_MAX; while(left<=right){ //二分查找 long long mid=left+(right-left)/2; //注意long long if(mid*mid==num) return true; els原创 2021-05-06 10:06:19 · 57 阅读 · 0 评论 -
LeetCode-350. 两个数组的交集 II-easy
题目链接class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { map<int,int> mp; vector<int> ans; for(int i=0;i<nums1.size();i++) mp[nums1[i]]++; for原创 2021-05-05 10:54:47 · 103 阅读 · 0 评论 -
LeetCode-345. 反转字符串中的元音字母-easy
题目链接class Solution {public: string reverseVowels(string s) { int i=0,j=s.length()-1; //two pointers while(i<j){ while(i<j&&tolower(s[i])!='a'&&tolower(s[i])!='e'&&tolower(s[i])!='i'&&t原创 2021-05-05 10:33:50 · 68 阅读 · 0 评论 -
LeetCode-344. 反转字符串-easy
题目链接class Solution {public: void reverseString(vector<char>& s) { int len=s.size(); for(int i=0;i<len/2;i++){ int temp=s[i]; s[i]=s[len-i-1]; s[len-i-1]=temp; } }};...原创 2021-05-04 10:52:31 · 79 阅读 · 0 评论 -
LeetCode-231. 2的幂-easy
题目链接class Solution {public: /*log(n)/log(2) 以2为底,n的对数 round()函数:把一个小数四舍五入 原型:double round(doube x) 如果x是3.2 ,那四舍五入的结果就为3.0 如果x是3.5,那结果就是4.0*/ bool isPowerOfTwo(int n) { if(n<=0) return false; return pow(2,round(l原创 2021-05-04 10:37:35 · 59 阅读 · 0 评论 -
LeetCode-303. 区域和检索 - 数组不可变-easy
题目链接class NumArray {private: vector<int> v;public: NumArray(vector<int>& nums) { if(nums.size()==0) return; v.push_back(nums[0]); for(int i=1;i<nums.size();i++){ v.push_back(nums[i]+v[i-1]);原创 2021-05-04 10:16:11 · 89 阅读 · 0 评论 -
LeetCode-290. 单词规律-easy
题目链接class Solution {public: bool wordPattern(string pattern, string s) { int len=pattern.length(); string *str=new string[len]; //string数组 int index=0; for(int i=0;i<s.length();i++){ if(s[i]!=' ') str[in原创 2021-05-03 11:01:22 · 66 阅读 · 0 评论 -
LeetCode-283. 移动零-easy
题目链接class Solution {public: void moveZeroes(vector<int>& nums) { int len=nums.size(); for(int i=0;i<len-1;i++){ for(int j=i+1;j<len;j++){ if(nums[i]==0&&nums[j]!=0){原创 2021-05-03 10:23:59 · 62 阅读 · 0 评论 -
LeetCode-278. 第一个错误的版本-easy
题目链接// The API isBadVersion is defined for you.bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { int low=1,high=n; while(low<high){ int mid=(high-low)/2+low; //求平均值防溢出 if原创 2021-05-02 10:47:09 · 59 阅读 · 0 评论 -
LeetCode-257. 二叉树的所有路径-easy
题目链接/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {原创 2021-04-30 10:44:31 · 60 阅读 · 0 评论