【每日刷题】Day93
🥕个人主页:开敲🍉
🔥所属专栏:每日刷题🍍
🌼文章目录🌼
1. 统计字符_牛客题霸_牛客网 (nowcoder.com)
2. 1480. 一维数组的动态和 - 力扣(LeetCode)
1. 统计字符_牛客题霸_牛客网 (nowcoder.com)
//思路:遍历+记数。
#include <iostream>
using namespace std;
#include<string>
int main()
{
int let = 0;
int spa = 0;
int dig = 0;
int oth = 0;
string s;
getline(cin,s);
string::iterator it = s.begin();
while(it!=s.end())
{
//字母数
if((*it>=65&&*it<=90)||(*it>=97&&*it<=122))
let++;
//数字数
else if(*it>=48&&*it<=57)
dig++;
//空格数
else if(*it==32)
spa++;
//其他字符数
else
oth++;
it++;
}
cout<<let<<endl;
cout<<spa<<endl;
cout<<dig<<endl;
cout<<oth<<endl;
return 0;
}
2. 1480. 一维数组的动态和 - 力扣(LeetCode)
//思路:遍历+记数。
class Solution {
public:
vector<int> runningSum(vector<int>& nums)
{
int num = 0;
for(int i = 0;i<nums.size();i++)
{
nums[i]+=num;
num = nums[i];
}
return nums;
}
};
3. 35. 搜索插入位置 - 力扣(LeetCode)
//思路:遍历。遍历一次数组,如果找到了target则跳出循环,记录当前下标返回。因为是排序数组,因此如果遇到了比target大的值也跳出循环,记录当前下标返回。
//注意:如果数组遍历完了也没找到按照当前写法会导致返回值为0,因此我们需要判断数组是否遍历完。
class Solution {
public:
int searchInsert(vector<int>& nums, int target)
{
int ans = 0;
int flag = 0;
int i = 0;
for(i = 0;i<nums.size();i++)
{
//找到或者没找到情况一样
if(nums[i]==target||nums[i]>target)
{
ans = i;
flag = 1;
break;
}
}
//如果数组遍历完了则说明要在数组尾部插入target
if(i==nums.size())
ans = nums.size();
return ans;
}
};