自学内容网 自学内容网

c++算法第3天

本篇文章包含三道算法题,难度由浅入深,适合新手练习哟

目录

第一题

题目链接

题目解析

代码原理

代码编写

本题总结

第二题

题目链接

题目解析

代码原理

代码编写

第三题

题目链接

题目解析

代码原理

代码编写


第一题

题目链接

[NOIP2010]数字统计_牛客题霸_牛客网

题目解析

举例:【2,22】

有2的数字有2, 12, 20, 22四个数字,题目要求是输出在区间【2,22】中2出现了几次,需要注意的是这里的2出现了几次包含十位上的2和个位上的2。

代码原理

取出十位和个位的2,再使用if语句进行判断,如果等于2则计数变量+1

代码编写

#include<iostream>

using namespace std;


 

int main()

{

    long long a = 0, b = 0;

    int count = 0;

    cin >> a >> b;

    for(; a <= b; a++)

    {

        int tmp = a;

        while(tmp)

        {

            int n = tmp % 10;

            if(n == 2)

            {

                count++;

            }

            tmp /= 10;

        }

    }

    cout << count << endl;

    return 0;

}

本题总结

取个位和十位的数的固定套路:循环 变量 (1)%10; 变量(1) / 10;

第二题

题目链接

两个数组的交集_牛客题霸_牛客网 (nowcoder.com)

题目解析

题目要求:返回两个数组中相同的数字

代码原理

代码编写

class Solution {

public:

    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {

        // write code here

        int hash[1010] = { 0 };

        vector<int> ret;

        //将容器nums1中的元素存放进哈希中

        for(auto cur : nums1)

        {

           hash[cur] = cur;

        }

        //将哈希中的元素与容器nums2中的元素进行匹配

        for(auto cur : nums2)

        {

            if(hash[cur])//哈希中的元素与nums2中的匹配上时,即hash[cur] = true

            {

               ret.push_back(hash[cur]);

               hash[cur] = false;

            }

        }

        return ret;

    }

};

第三题

题目链接

点击消除_牛客题霸_牛客网 (nowcoder.com)

题目解析

题目要求:删除相同且相邻的字母

代码原理

相邻且相同,因此要删除

最后返回栈内的元素即可

代码编写

#include <iostream>

#include<string>

using namespace std;

int main() {

    string s,st;

    cin >> s;

    for(auto cur : s)

    {

        if(st.size() && st.back() == cur)

           st.pop_back();

        else

         st.push_back(cur);

    }

    cout << (st.size() == 0?"0":st);

}

本篇文章的算法题内容就先到这里,喜欢我的文章的小伙伴,可以给我点个关注,要不然下次可能就找不到我了。

都看到这里了,给个三连呗!!!


原文地址:https://blog.csdn.net/2302_80418176/article/details/142720568

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!