C++
文章平均质量分 84
国服最强貂蝉
理想主义者
展开
-
力扣-字符串-字符串的反转
力扣-字符串-字符串的反转344 反转字符串344 反转字符串344 反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:[“H”,“a”,“n”,“n原创 2021-05-24 21:56:54 · 54 阅读 · 0 评论 -
力扣-字符串-单词
力扣-字符串-单词434 字符串中的单词数58 最后一个单词的长度434 字符串中的单词数434 字符串中的单词数58 最后一个单词的长度[58 最后一个单词的长度]原创 2021-05-11 21:02:07 · 53 阅读 · 0 评论 -
力扣-字符串-公共前缀
14 最长公共前缀14 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,“flow”,“flight”]输出:“fl”示例 2:输入:strs = [“dog”,“racecar”,“car”]输出:""解释:输入不存在公共前缀。提示:0 <= strs.length <= 2000 <= strs[i].length <= 200strs[i]原创 2021-04-17 19:37:25 · 39 阅读 · 0 评论 -
力扣-字符串-回文串的定义
125 验证回文串125 验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: falsec++的几个内置函数islower(char c) 是否为小写字母isupper(char c) 是否为大写字母isdigit(char c) 是否为数字原创 2021-03-28 20:30:49 · 71 阅读 · 0 评论 -
力扣-字符串-字符
检测大写字母检测大写字母给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如"USA"。单词中所有字母都不是大写,比如"leetcode"。如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。否则,我们定义这个单词没有正确使用大写字母。示例 1:输入: “USA”输出: True示例 2:输入: “FlaG”输出: False注意: 输入是由大写和小写拉丁字母组成的非空单词。只要记录有原创 2021-03-27 16:49:53 · 32 阅读 · 0 评论 -
力扣-数组-二维数组变换
力扣-数组-二维数组变换566 重塑矩阵48 旋转图像73289566 重塑矩阵566 重塑矩阵在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入:nums =[[原创 2021-03-26 21:43:43 · 120 阅读 · 0 评论 -
力扣-数组-前缀和数组
力扣-数组-前缀和数组303 区域和检索 - 数组不可变304 二维区域和检索 - 矩阵不可变238 除自身以外数组的乘积303 区域和检索 - 数组不可变303 区域和检索 - 数组不可变给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。实现 NumArray 类:NumArray(int[] nums) 使用数组 nums 初始化对象int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤原创 2021-03-14 19:58:41 · 77 阅读 · 0 评论 -
力扣-数组-特定顺序遍历二维数组
力扣-数组-特定顺序遍历二维数组54 螺旋矩阵54 螺旋矩阵54 螺旋矩阵给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]提示:m ==原创 2021-03-05 19:57:22 · 149 阅读 · 0 评论 -
力扣-数组-数组的旋转
力扣-数组-数组的旋转189 旋转数组396 旋转函数189 旋转数组189 旋转数组396 旋转函数396 旋转函数原创 2021-03-01 15:58:11 · 93 阅读 · 0 评论 -
力扣-数组-二维数组及滚动数组
力扣-数组-二维数组及滚动数组118 杨辉三角119 杨辉三角 II661 图片平滑器118 杨辉三角118 杨辉三角给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]class Solution {public: vector<vector<int>> genera原创 2021-02-26 15:28:57 · 48 阅读 · 0 评论 -
力扣-数组-数组的改变、移动
力扣-数组-数组的改变、移动453最小操作次数使数组元素相等665 非递减数列283 移动零453最小操作次数使数组元素相等453 最小操作次数使数组元素相等给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1。找出让数组所有元素相等的最小操作次数。示例:输入:[1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]数原创 2021-02-23 21:40:38 · 38 阅读 · 0 评论 -
力扣-数组-统计数组中的元素
力扣-数组-统计数组中的元素645 错误的集合697 数组的度448 找到所有数组中消失的数字41 缺失的第一个正数442 数组中重复的数据274 H 指数用异或来交换两个变量是错误的。今天看到了一首诗:《linux多线程服务端编程》501页分析了,用异或运算交换变量,是错误的行为。并且不能加快运算,也不能节省内存。645 错误的集合645 错误的集合集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失原创 2021-02-22 22:06:52 · 83 阅读 · 0 评论 -
力扣-数组-数组的遍历
力扣-数组-数组的遍历485 最大连续 1 的个数495 提莫攻击414 第三大的数628 三个数的最大乘积485 最大连续 1 的个数485 最大连续 1 的个数给定一个二进制数组, 计算其中最大连续 1 的个数。事例输入:[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.提示输入的数组只包含 0 和 1 。输入数组的长度是正整数,且不超过 10,000。双指针我重拳出击class Solution {publ原创 2021-02-18 21:35:17 · 49 阅读 · 0 评论 -
C++程序设计谭浩强 全部习题答案
第三章https://blog.csdn.net/zrg_hzr_1/article/details/106714827第四章https://blog.csdn.net/zrg_hzr_1/article/details/106740188第五章https://blog.csdn.net/zrg_hzr_1/article/details/106750784第六章https://blog.csdn.net/zrg_hzr_1/article/details/106820476第七章https原创 2020-09-04 22:51:00 · 38301 阅读 · 10 评论 -
C++程序设计谭浩强 第十四章(C++工具)习题答案(部分有改进)
14.1 求一元二次方程式ax^2+bx+c=0的实根,如果方程没有实根,则输出有关警告信息。#include <iostream>#include <cmath>using namespace std;double q(double,double,double);void main(){double a,b,c,p,x1,x2; cout<<"please enter a,b,c:"; cin>>a>>b>>c;原创 2020-09-04 22:40:14 · 1756 阅读 · 0 评论 -
C++程序设计谭浩强 第十三章(输入输出流)习题答案(部分有改进)
13.1 输入三角形的三边a,b,c,计算三角形的面积的公式是area=√(s(s−a)(s−b)(s−c))s=(a+b+c)/2构成三角形的条件是:a+b>c, b+c>a, c+a>b编写程序,输入a,b,c,检查a,b,c是否满足以上条件,如不满足,由cerr输出有关出错信息。#include <iostream>#include <cmath>using namespace std;int main(){ double a原创 2020-08-13 20:30:54 · 4522 阅读 · 4 评论 -
C++程序设计谭浩强 第十二章(多态性与虚函数)习题答案(部分有改进)
12.1 在例12.1程序基础上作一些修改。定义Point类,由Point类派生出Circle类,再由Circle类派生出Cylinder类。将类的定义部分分别作为3个头文件,对它们的成员函数的声明部分分别作为3个源文件,在主函数中用#include命令把它们包含进来,形成一个完整的程序,并上机运行。头文件Point.h#include <iostream>using namespace std;class Point{public: Point(double x=0,.原创 2020-08-06 12:14:57 · 7163 阅读 · 1 评论 -
C++程序设计谭浩强 第十一章(继承与派生)习题答案(部分有改进)
11.1 用公用继承方式。在程序运行时输入num name sex age addr的值,输出以上5 个数据的值#include <iostream>using namespace std;class Student{public: void get_value() { cin >> num >> name >> sex; } void display() { cout &l原创 2020-07-31 22:29:16 · 8838 阅读 · 4 评论 -
C++程序设计谭浩强 第十章(运算符重载)习题答案(部分有改进)
10.1 重载云算符“+”。非成员、非友元的普通函数。#include <iostream>using namespace std;class Complex{public: Complex() { real = 0; imag = 0; } Complex(double r, double i) { real = r; imag = i; } double get_real(); double get_imag(); void display();private:原创 2020-07-28 21:19:11 · 7158 阅读 · 5 评论 -
C++程序设计谭浩强 第九章(关于类和对象的进一步讨论)习题答案(部分有改进)
9.1构造函数的作用:用于新建对象的初始化工作。析构函数的作用:用于在撤销对象前,完成一些清理工作,比如:释放内存等。每当创建对象时,需要添加初始化代码时,则需要定义自己的构造函数;而对象撤销时,需要自己添加清理工作的代码时,则需要定义自己的析构函数。9.2运行结果#include <iostream>using namespace std;class Date{public: Date(int, int, int); Date(int, int); Date..原创 2020-07-23 19:47:18 · 8790 阅读 · 2 评论 -
C++程序设计谭浩强 第八章(类和对象)习题答案(部分有改进)
8.1 正确代码#include <iostream>using namespace std;class Time {public: //成员改为公用的 int hour; int minute; int sec; };Time t;void set_time(void) //在main函数之前定义 { cin>>t.hour; cin>>t.minute;原创 2020-07-21 21:43:30 · 7019 阅读 · 2 评论 -
C++程序设计谭浩强 第七章(自定义数据类型)习题答案(部分有改进)
7.1 定义一个结构体变量(包括年月日)输入年月日,能计算该日是本年中的第几天#include <iostream>using namespace std;struct {int year; int month; int day; }date; int main() {int i,days; int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; cout<原创 2020-07-15 14:45:07 · 5464 阅读 · 4 评论 -
C++程序设计谭浩强 第六章(指针)习题答案(部分有改进)
6.1输入3个整数,按由小到大的顺序输出#include <iostream>using namespace std;int main() {void swap(int *p1,int *p2); int n1,n2,n3; int *p1,*p2,*p3; cout<<"input three integers n1,n2,n3:"; cin>>n1>>n2>>n3; p1=&n1; p2=&n原创 2020-06-22 00:15:33 · 9601 阅读 · 5 评论 -
C++程序设计谭浩强 第五章(数组)习题答案(部分有改进)
5.1筛选法求100以内素数#include <iostream>#include <iomanip> //set系列控制符using namespace std;#include <math.h>int main() { int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i<sqrt(100);i++) //非素数置零 for (j原创 2020-06-15 00:40:33 · 7986 阅读 · 10 评论 -
C++程序设计谭浩强 第四章(函数与预处理)习题答案(部分有改进)
4.1 最大公约数最小公倍数#include <iostream>using namespace std;int main() {int hcf(int,int); int lcd(int,int,int); int u,v,h,l; cin>>u>>v; h=hcf(u,v); cout<<"H.C.F="<<h<<endl; l=lcd(u,v,h); cout<<原创 2020-06-14 01:32:46 · 7320 阅读 · 9 评论 -
C++程序设计谭浩强 第三章(程序设计初步)习题答案(部分有改进)
3.2 圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,球表面积,球体积,圆柱体积。取小数点后两位。#include <iostream>#include <iomanip>using namespace std;int main ( ){ float h,r,l,s,sq,vq,vz; const float pi=3.1415926; cout<<"please enter r,h:"; cin>>r>原创 2020-06-12 19:27:57 · 13330 阅读 · 4 评论