c++
一只小菜鸟mc
这个作者很懒,什么都没留下…
展开
-
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和
c++实现给定两个字符串形式的非负整数num1和num2,计算它们的和要求:num1 和num2的长度都小于 5100num1 和num2 都只包含数字0-9num1 和num2 都不包含任何前导零你不能使用任何內建 BigInteger 库,也不能直接将输入的字符串转换为整数形式链接:https://leetcode-cn.com/problems/add-strings求和,我们需要从字符串中分离开这些数字,并且吧这些数字从个位到高位依次相加,并将和+=到一个字符串中,最后...原创 2021-03-30 18:49:03 · 1496 阅读 · 0 评论 -
计算字符串最后一个单词的长度,单词以空格隔开
c++实现计算字符串最后一个单词的长度,单词以空格隔开输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。示例1 输入 hello nowcoder输出 81、首先我们需要输入一行字符串我们输入字符串时不能用cin ,如果字符串之间有空格,他会默认将其分割。我们需要使用getline(instream&cin ,string str),输入一行字符给str,直到遇见‘\n’我们需要找到一行字符...原创 2021-03-30 16:01:06 · 621 阅读 · 0 评论 -
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1
c++实现找字符串中第一个单身狗给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。s = "leetcode"返回 0s = "loveleetcode"返回 2我们只需要遍历一次字符串,统计每个字符出现的次数,在遍历一次找到第一个出现次数为1的字符,并返回他的下标。代码如下:class Solution {public: int firstUniqChar(string s) { int count[256]=原创 2021-03-30 15:07:11 · 1623 阅读 · 0 评论 -
给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转
c++实现字符串反转给定一个字符串S,返回“反转后的”字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。示例 1:输入:"ab-cd"输出:"dc-ba"示例 2:输入:"a-bC-dEf-ghIj"输出:"j-Ih-gfE-dCba"示例 3:输入:"Test1ng-Leet=code-Q!"输出:"Qedo1ct-eeLg=ntse-T!"链接:https://leetcode-cn.com/problems/reverse-only-letters...原创 2021-03-30 12:40:40 · 433 阅读 · 0 评论 -
初始c++ 中的模板
泛型编程定义:编写与类型无关的通用代码,是代码复用的一种手段。模板也是范型编程的一种当我们没有学习泛型编程之前,如果我们需要实现一个通用类型的交换函数,可以使用函数重载的方法代码如下:#include<iostream>using namespace std;void Swap(int& x, int& y){ int tmp = x; x = y; y = tmp;}void Swap(float& x, float& y){原创 2021-03-16 16:54:42 · 117 阅读 · 0 评论 -
牛客网:给出年分m和一年中的第n天,算出第n天是几月几号
给出年分m和一年中的第n天,算出第n天是几月几号测试用例:输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。输入2000 32000 312000 402000 602000 612001 60输出2000-01-032000-01-312000-02-092000-02-292000-03-012001-03-0原创 2021-03-11 17:11:54 · 625 阅读 · 0 评论 -
牛客网:根据输入的日期,计算是这一年的第几天
根据输入的日期,计算是这一年的第几天测试用例有多组,注意循环输入给定我们一日期,让我们计算是这年的第几天,我们可以写一个日期类,通过运算符重载,实现日期减日期得到天数,这样比较复杂现在用另一种方法实现代码如下:#include<iostream>using namespace std;int main(){//二月按28天算 int daymonth[13]={0,31,59,90,120,151,181,212,243,273,304,334,365};..原创 2021-03-11 16:34:26 · 998 阅读 · 0 评论 -
c++的友元
一、友元友元分为:友元函数和友元类友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以尽量不要使用友元。1、友元函数之前我学了重载运算符,但是我尝试重载operator<<,发现我们不能将operator<<重载成成员函数,因为cout的输出流对象和隐含的this指针抢占第一个参数的位置。就是cout参数也需要在第一个位置作参数(operator的左参数),我们才能正常使用运算符<<,这样就与隐藏的this指针冲突.原创 2021-03-11 15:14:35 · 203 阅读 · 1 评论 -
求1+2+3+...+n,不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)当我们学习了static成员,友元函数,和内部类就可以用c++的两种方法解决这个问题:1、使用静态成员的特性和友元类(也可以不用友元类)class Sum{public: Sum()//构造函数实现1+2+3+ n { _ret+=_i; _i++; } st原创 2021-03-11 12:41:40 · 336 阅读 · 1 评论 -
c++ :类中的static成员
static 成员概念:声明为static的类成员称为类的静态成员:用static修饰的成员变量为,静态成员变量, 用static修饰的成员函数为,静态成员函数。静态成员变量一定要在类外进行初始化。特性:1、静态成员为所有类对象所共享,不属于某个具体的实例2、静态成员必须在类外定义3、类静态成员可以用 类名::静态成员或者对象.静态成员来访问...原创 2021-03-11 11:19:11 · 732 阅读 · 0 评论 -
认识C++的类中默认生成的构造函数,析构函数拷贝构造函数和赋值运算符重载
类中默认的成员函数类的6个默认成员函数如果一个类中什么成员都没有,简称为空类,其实它并不是空的,它会默认生成6个成员函数。构造函数:主要完成初始化工作析构函数:主要完成清理工作拷贝构造:是使用同类对象初始化创建对象赋值重载主要把一个对象赋值给另一个对象还有两个很少自己实现,主要是普通对象和const 对象取地址。一、构造函数构造函数是一种特殊的成员函数,名字与类名相同,没有返回值,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期原创 2021-03-05 11:40:17 · 348 阅读 · 1 评论 -
C++中使用构造函数,析构函数,拷贝构造函数,运算符重载实现日期类
一、利用多文件实现日期类当我们了解了类中默认的6个成员函数,我们就可以利用这些函数实现一个简单的类完成日期之间的计算。比如,计算两个不同时间之间隔了多少天,n天之后是几年几月几号,等等首先创建一个头文件Date,h,包含头文件,命名空间,函数声明,和定义类。#pragma once#include<iostream>using namespace std;class Date {public: //获得每个月天数的函数 int GetMonthDay(int year原创 2021-03-07 21:40:12 · 700 阅读 · 0 评论