【每日刷题】Day81

【每日刷题】Day81

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 日期累加_牛客题霸_牛客网 (nowcoder.com)

2. 打印日期_牛客题霸_牛客网 (nowcoder.com)

3. 2956. 找到两个数组中的公共元素 - 力扣(LeetCode)

1. 日期累加_牛客题霸_牛客网 (nowcoder.com)

//注:此题思路仅供参考

//思路:实现日期类的功能:日期与日期间的大小判断、日期+=天数、日期-=天数、日期+天数、日期-天数、输入输出符的重载...

#include <iostream>

using namespace std;

class Date

{

public:

    friend ostream& operator<<(ostream& out,const Date &d);

    Date(int year = 0,int month = 0,int day = 0)

    {

        _year = year;

        _month = month;

        _day = day;

    }

    bool operator>(const Date& d);

    bool operator==(const Date& d);

    bool operator<(const Date& d);

    bool operator>=(const Date& d);

    bool operator<=(const Date& d);

    bool operator!=(const Date& d);

    Date& operator+=(int day);

    Date& operator-=(int day);

    Date operator+(int day);

private:

    int _year;

    int _month;

    int _day;

};

//<<运算符重载

ostream& operator<<(ostream& out,const Date &d)

{

    if((d._month<10&&d._day>10)||(d._month<10&&d._day==10))

        out<<d._year<<"-"<<0<<d._month<<"-"<<d._day;

    else if(d._month<10&&d._day<10)

        out<<d._year<<"-"<<0<<d._month<<"-"<<0<<d._day;

    else if((d._month>10&&d._day<10)||(d._month==10&&d._day<10))

        out<<d._year<<"-"<<d._month<<"-"<<0<<d._day;

    else

        out<<d._year<<"-"<<d._month<<"-"<<d._day;

    return out;

}

//>运算符重载

bool Date::operator>(const Date &d)

{

    if(_year>d._year)

        return true;

    else if(_year==d._year&&_month>d._month)

        return true;

    else if(_year==d._year&&_month==d._month&&_day>d._day)

        return true;

    return false;

}

//==运算符重载

bool Date::operator==(const Date &d)

{

    return _year==d._year&&_month==d._month&&_day==d._day;

}

//<运算符重载

bool Date::operator<(const Date &d)

{

    return !(*this>d||*this==d);

}

//>=运算符重载

bool Date::operator>=(const Date &d)

{

    return !(*this<d);

}

//<=运算符重载

bool Date::operator<=(const Date &d)

{

    return !(*this>d);

}

//!=运算符重载

bool Date::operator!=(const Date &d)

{

    return !(*this==d);

}

//获取月份天数

int GetMonthDay(int year,int month)

{

    int arr[13] = {-1,31,28,31,30,31,30,31,31,30,31,30,31};

    if(month==2&&((year%4==0&&year%100!=0)||year%400==0))

        return 29;

    return arr[month];

}

//日期+=天数

Date& Date::operator+=(int day)

{

    _day+=day;

    while(_day>GetMonthDay(_year, _month))

    {

        _day-=GetMonthDay(_year, _month);

        _month++;

        if(_month==13)

        {

            _month = 1;

            _year++;

        }

    }

    return *this;

}

//日期-=天数

Date& Date::operator-=(int day)

{

    _day-=day;

    while(_day<=0)

    {

        _month--;

        if(!_month)

        {

            _month = 12;

            _year--;

        }

        _day+=GetMonthDay(_year, _month);

    }

    return *this;

}

//日期+天数

Date Date::operator+(int day)

{

    Date tmp = *this;

    tmp+=day;

    return tmp;

}

int main()

{

    int n = 0;

    cin>>n;

    int year,month,day,num;

    while(n)

    {

        scanf("%4d %2d %2d %d",&year,&month,&day,&num);

        Date d(year,month,day);

        Date tmp = d+num;

        cout<<tmp<<endl;

        n--;

    }

    return 0;

}

2. 打印日期_牛客题霸_牛客网 (nowcoder.com)

//注:此题思路仅供参考

//思路:同上一题

#include <iostream>

using namespace std;

class Date

{

public:

    friend ostream& operator<<(ostream& out,const Date &d);

    Date(int year = 0,int month = 0,int day = 0)

    {

        _year = year;

        _month = month;

        _day = day;

    }

    bool operator>(const Date& d);

    bool operator==(const Date& d);

    bool operator<(const Date& d);

    bool operator>=(const Date& d);

    bool operator<=(const Date& d);

    bool operator!=(const Date& d);

    Date& operator+=(int day);

private:

    int _year;

    int _month;

    int _day;

};

//<<运算符重载

ostream& operator<<(ostream& out,const Date &d)

{

    if((d._month<10&&d._day>10)||(d._month<10&&d._day==10))

        out<<d._year<<"-"<<0<<d._month<<"-"<<d._day;

    else if(d._month<10&&d._day<10)

        out<<d._year<<"-"<<0<<d._month<<"-"<<0<<d._day;

    else if((d._month>10&&d._day<10)||(d._month==10&&d._day<10))

        out<<d._year<<"-"<<d._month<<"-"<<0<<d._day;

    else

        out<<d._year<<"-"<<d._month<<"-"<<d._day;

    return out;

}

//>运算符重载

bool Date::operator>(const Date &d)

{

    if(_year>d._year)

        return true;

    else if(_year==d._year&&_month>d._month)

        return true;

    else if(_year==d._year&&_month==d._month&&_day>d._day)

        return true;

    return false;

}

//==运算符重载

bool Date::operator==(const Date &d)

{

    return _year==d._year&&_month==d._month&&_day==d._day;

}

//<运算符重载

bool Date::operator<(const Date &d)

{

    return !(*this>d||*this==d);

}

//>=运算符重载

bool Date::operator>=(const Date &d)

{

    return !(*this<d);

}

//<=运算符重载

bool Date::operator<=(const Date &d)

{

    return !(*this>d);

}

//!=运算符重载

bool Date::operator!=(const Date &d)

{

    return !(*this==d);

}

//获取月份天数

int GetMonthDay(int year,int month)

{

    int arr[13] = {-1,31,28,31,30,31,30,31,31,30,31,30,31};

    if(month==2&&((year%4==0&&year%100!=0)||year%400==0))

        return 29;

    return arr[month];

}

//日期+=天数

Date& Date::operator+=(int day)

{

    _day+=day;

    while(_day>GetMonthDay(_year, _month))

    {

        _day-=GetMonthDay(_year, _month);

        _month++;

        if(_month==13)

        {

            _month = 1;

            _year++;

        }

    }

    return *this;

}

int main()

{

    int year,num;

    while(scanf("%d %d",&year,&num)!=EOF)

    {

        Date d(year,1,1);

        d+=(num-1);

        cout<<d<<endl;

    }

    return 0;

}

3. 2956. 找到两个数组中的公共元素 - 力扣(LeetCode)

//思路1:二次遍历。

int* findIntersectionValues(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)

{

    int* ans = (int*)malloc(sizeof(int)*2);

    int answer1 = 0;

    int answer2 = 0;

    *returnSize = 2;

//遍历数组1找相同

    for(int i = 0;i<nums1Size;i++)

    {

        for(int j = 0;j<nums2Size;j++)

        {

            if(nums1[i]==nums2[j])

            {

                answer1++;

                break;

            }

        }

    }

//遍历数组2找相同

    for(int i = 0;i<nums2Size;i++)

    {

        for(int j = 0;j<nums1Size;j++)

        {

            if(nums2[i]==nums1[j])

            {

                answer2++;

                break;

            }

        }

    }

    ans[0] = answer1;

    ans[1] = answer2;

    return ans;

}

//思路2:哈希表。记录数组1、数组2分别由哪些元素组成,随后分别遍历数组1和数组2,判断当前元素是否在另一个数组中存在。

int* findIntersectionValues(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)

{

    int* ans = (int*)calloc(2,sizeof(int));

    int answer1 = 0;

    int answer2 = 0;

    int hash1[101] = {0};

    int hash2[101] = {0};

//记录数组1出现的元素

    for(int i = 0;i<nums1Size;i++)

    {

        hash1[nums1[i]] = 1;

    }

//记录数组2出现的元素

    for(int i = 0;i<nums2Size;i++)

    {

        hash2[nums2[i]] = 1;

    }

//遍历数组1,每次判断当前元素是否在数组2中

    for(int i = 0;i<nums2Size;i++)

    {

        if(hash1[nums2[i]])

            ans[1]+=1;

    }

//遍历数组2,每次判断当前元素是否在数组1中

    for(int i = 0;i<nums1Size;i++)

    {

        if(hash2[nums1[i]])

            ans[0]+=1;

    }

    *returnSize = 2;

    return ans;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/801536.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分享两个性价比极高的SSR方案

最近总监提出我们公司运营的一个网站运营数据有点差&#xff0c;亟待提升该网站的SEO&#xff08;搜索引擎优化&#xff09;体验。不然自然流量着实有点少&#xff0c;全靠氪金买百度付费流量&#xff0c;成本太高&#xff0c;显然不太现实。但是当时技术选型的时候并未考虑到S…

【Linux】权限的管理和Linux上的一些工具

文章目录 权限管理chgrpchownumaskfile指令sudo指令 目录权限粘滞位Linux中的工具1.软件包管理器yum2.rzsz Linux开发工具vim 总结 权限管理 chgrp 功能&#xff1a;修改文件或目录的所属组 格式&#xff1a;chgrp [参数] 用户组名 文件名 常用选项&#xff1a;-R 递归修改文…

解析 Mira :基于 Web3,让先进的 AI 技术易于访问和使用

“Mira 平台正在以 Web3 的方式解决当前 AI 开发面临的复杂性问题&#xff0c;同时保护 AI 贡献者的权益&#xff0c;让他们可以自主拥有并货币化自己的模型、数据和应用&#xff0c;以使先进的 AI 技术更加易于访问和使用。” AI 代表着一种先进的生产力&#xff0c;它通过深…

UE4-初见虚幻引擎

一.创建自己的工程 1.启动 a.通过桌面双击图标来打开对应版本的虚幻引擎 b.通过EPIC启动器开启动虚幻引擎 2.选择或新建项目 ps:高版本虚幻编辑器可以打开低版本的虚幻项目&#xff0c;但是高版本虚幻的项目不可以由低版本的虚幻编辑器打开。 3. 选择要打开的项目 4.选择模版 选…

mindspore打卡第24天之LSTM+CRF序列标注

LSTMCRF序列标注 概述 序列标注指给定输入序列&#xff0c;给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取&#xff0c;包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。以命名实…

Host碰撞实验

目录 Host碰撞原理 Host碰撞判断技巧 Host碰撞检测方法 Host碰撞实验步骤 从攻击者的视角来进行资产的梳理&#xff0c;采用全端口扫描子域名收集的方式&#xff0c;识别所有的企业资产暴露面。但即使是这样&#xff0c;往往会因为配置错误或是未及时回收等原因&#xff0c…

C++ std::lock_guard和 std::unique_lock

二者都是 C 标准库中用于管理互斥锁&#xff08;mutex&#xff09;的 RAII&#xff08;Resource Acquisition Is Initialization&#xff09;机制的类。这些类可以确保互斥锁在构造时被获取&#xff0c;在析构时被释放&#xff0c;从而避免死锁和资源泄漏问题。不过&#xff0c…

【数据结构取经之路】二叉搜索树的实现

目录 前言 二叉搜索树 概念 性质 二叉搜索树的实现 结点的定义 插入 查找 删除 二叉搜索树完整代码 前言 首先&#xff0c;二叉搜索树是一种数据结构&#xff0c;了解二叉搜素树有助于理解map和set的特性。 二叉搜索树 概念 二叉搜索树又称二叉排序树&#xff0c…

服务器操作集合

服务器使用PC作为代理访问外网 1、PC上启动代理&#xff0c;比如nginx 下载nginx&#xff1a;http://nginx.org/en/download.html 修改配置文件&#xff0c;在conf下&#xff1a; http {include mime.types;default_type application/octet-stream; sendfile …

C++深度解析教程笔记12ok-继承,继承的构造与析构,同名覆盖

C深度解析教程笔记12 第43课 - 继承的概念和意义实验-类的组合实验-类的继承实验-子类与父类的构造顺序小结 第44课 - 继承中的访问级别实验-子类直接访问父类非公成员&#xff08;error&#xff09;实验-子类访问父类非公成员protected实验-复杂的例子bug 小结 第45课 - 不同的…

如何构建全生命周期的安全体系架构来确保容器的安全?

容器技术在云原生应用和微服务架构中得到了广泛应用&#xff0c;其轻量、灵活和高效的特点使其成为现代IT环境中的重要工具。然而&#xff0c;尽管容器带来了许多优势&#xff0c;但其安全性问题也不容忽视。接下来跟随博主一起探索如何构建全生命周期的安全体系架构以确保容器…

《算法笔记》总结No.7——二分(多例题详解版)

一.二分查找 目前有一个有序数列&#xff0c;举个例子&#xff0c;假设是1~1000&#xff0c;让我们去查找931这个数字&#xff0c;浅显且暴力的做法就是直接从头到尾遍历一遍&#xff0c;直到找到931为止。当n非常大&#xff0c;比如达到100w时&#xff0c;这是一个非常大的量级…

经纬恒润底盘控制产品R-EPS成功量产

近日&#xff0c;经纬恒润开发的齿条式电动助力转向系统R-EPS&#xff08;Rack-Electronic Power Steering&#xff09;搭载某新能源车企中高端MPV车型&#xff0c;成功量产落地。 该产品采用恒润Double Pinion/Rack平台级的软硬件方案&#xff0c;模块复用程度更高&#xff0c…

5.4 软件工程-系统设计

系统设计 - 概述 设计软件系统总体结构 数据结构及数据库设计 编写概要设计文档、评审 详细设计的基本任务 真题

DHCP服务、FTP服务

一、DHCP 1.1 DHCP是什么 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff09;是一种网络协议&#xff0c;用于自动分配 IP 地址和其他网络配置信息给网络中的设备 1.2 DHCP的好处 自动化: 减少了手动配置 IP 地址和网络参数的工…

pc端注册页面 密码校验规则

1.密码校验规则 格应包含大小写字母、数字和特殊符号,长度为8-20 var validateRetrievePassword (rule, value, callback) > {let reg /^(?.*[A-Za-z])(?.*\d)(?.*[~!#$%^&*()_<>?:"{},.\/\\;[\]])[A-Za-z\d~!#$%^&*()_<>?:"{},.\/\\;…

Linux系统下weblogic10.3.6版本打补丁步骤

linux系统 weblogic补丁压缩包&#xff1a;p35586779_1036_Generic.zip 链接&#xff1a;https://pan.baidu.com/s/1EEz_zPX-VHp5EU5LLxfxjQ 提取码&#xff1a;XXXX &#xff08;补丁压缩包中包含以下东西&#xff09; 打补丁步骤&#xff1a; 1.备份原weblogic(需要先确保服…

【Linux杂货铺】期末总结篇3:用户账户管理命令 | 组账户管理命令

&#x1f308;个人主页&#xff1a;聆风吟_ &#x1f525;系列专栏&#xff1a;Linux杂货铺、Linux实践室 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 第五章5.1 ⛳️Linux 账户5.2 ⛳️用户配置文件和目录&#xff08;未完待续&#xff09;5.2.1 …

【机器学习实战】Datawhale夏令营2:音视频攻防(deepfake)Baseline句解

# Datawhale # AI夏令营 # 夏令营 文章目录 1. 赛题简要介绍2. 赛题数据集3. 评价指标4. Baseline整体4.1 计算样本数4.2 创建video对象4.3 下载需要的库&&补充知识4.4 设置pytorch随机种子&&CUDNN配置4.5 音视频预处理4.6 创建训练数据文件夹4.7 生成梅尔频谱…

habase集群安装

解压到/opt/softs目录 tar -zxvf hbase-2.4.11-bin.tar.gz -C /opt/softs/ 改名 mv hbase-2.4.11/ hbase2.4.11 配置环境变量 修改/etc/profile vim /etc/profile 添加 #HBASE_HOME export HBASE_HOME/opt/softs/hbase2.4.11 export PATH$PATH:$HBASE_HOME/bin 修改其中的…