- 博客(29)
- 资源 (1)
- 收藏
- 关注
原创 C++ string对象相加问题
两个string对象相加:两个string对象相加得到一个新的string对象,其内容是左侧的运算对象与右侧的运算对象串接而成。另外,复合赋值运算符(+=)负责把右侧string对象的内容追加到左侧string对象的后面:string s1="hello,",s2="word\n";string s3=s1+s2; //s3的内容是hello,word\ns1+=s2; //等价于...
2019-07-15 17:25:11 12879
原创 min_element和max_element的用法
min_element:default (1) template <class ForwardIterator> ForwardIterator min_element (ForwardIterator first, ForwardIterator last); custom(2) template <class Forwar...
2019-04-12 11:37:11 815
原创 string::substr
substr的目的是生成子串:string substr (size_t pos = 0, size_t len = npos) const;返回一个新构造的String对象,其值初始化为该对象的子字符串的副本。子字符串是对象的一部分,它从字符位置pos开始,跨越len个字符(或直到字符串的末尾)。注意:第一个字符的值为0(而不是1)。如果第二个参数为空,则构造的字符串为从pos直到...
2019-03-13 17:15:00 337
原创 getline的用法
getline是从流中获取一行信息输入到字符串中:(1) istream& getline (istream& is, string& str, char delim);istream& getline (istream&& is, string& str, char delim); (2) ...
2019-03-13 17:00:56 7640 1
原创 C++中deque和queue的比较
C++中deque和queue都是队列,但两者的用法有所不同:deque是双端队列,在头部尾部都可以进行快速插入/删除:queue是一种类型的容器适配器,具体设计成在FIFO上下文(先进先出)中操作,其中将元素插入容器的一端并从另一个容器中提取。简单来说,元素只能从队尾插入队首删除。(queue才是传统意义上的队列)...
2019-03-12 16:36:56 4666 1
原创 112.路径总和
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22,5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。...
2019-02-25 21:14:48 212
原创 TensorFlow入门
一、计算模型——计算图Tensor(张量)可以被简单理解为多维数组。TensorFlow中的每一个计算都是计算图上的一个节点,节点之间的边描述了计算之间的依赖关系。在TensorFlow中,系统会自动维护一个默认的计算图,通过tf.get_default_graph函数可以获取当前的计算图:print(a.graph is tf.get_default_graph()) //默...
2018-12-10 10:55:05 202
原创 69. x 的平方根
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。 解法一:笨方法。。。。class S...
2018-11-02 12:50:11 173
原创 67. 二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101" class Solution {public: string addBinary(string
2018-10-22 19:04:26 107
原创 66. 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321...
2018-10-18 17:22:22 119
转载 58. 最后一个单词的长度
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5思路:倒序遍历class Solution {public: int lengthOfLastWord(string s) { ...
2018-10-18 16:49:24 113
原创 C++ primer学习笔记——第十二章 动态内存
全局对象在程序启动时分配,在程序结束时销毁;局部自动对象在定义所在的程序块时被创建,在离开块时被销毁;局部static对象在第一次使用前分配,在程序结束时销毁动态分配的对象的生存期与它们在哪里创建是无关的,只有当显式地释放时,这些对象才会销毁 静态内存用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量。——在使用前分配,在程序结束时销毁栈内存用...
2018-10-12 22:14:20 438
原创 53. 最大子序和(重点题目)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 方法一:动态规划法这个算法又称为Kadane算法。...
2018-10-12 15:27:38 139
原创 35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], ...
2018-10-11 09:53:13 91
原创 28. 实现strStr()
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needl...
2018-10-10 15:47:17 120
原创 21. 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:首先比较两个链表的头结点,值较小的头结点作为新链表的头结点。接下来又比较剩余部分两个链表的头结点,较小的作为新链表的下一个节点,以此类推。...
2018-10-10 10:53:13 103
原创 20. 有效的括号
、给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: fal...
2018-10-09 15:24:47 254
原创 C++ primer学习笔记——第十一章 关联容器
关联容器和顺序容器有着根本的不同:关联容器的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按他们在容器中的位置来顺序保存和访问的关联容器类型 按关键字有序保存元素 map 关联数组:保存关键字-值对 set 只保存关键字的容器 multimap 关键字可重复出现的map multiset 关键字可重复出现的set 无序集合 unor...
2018-10-09 09:32:38 609
原创 C++ primer学习笔记——第十章 泛型算法
标准库容器定义的操作集合惊人的小。标准库并未给每个容器添加大量功能,而是提供了一组算法,这些算法中的大多数都独立于任何特定的容器。这些算法是通用的(generic,或称泛型的):它们可以用于不同类型的容器和不同类型的元素一、概述大多数算法都定义在头文件algorithm中。标准库还在头文件中定义了一组数值泛型算法。一般情况下,这些算法并不直接操作容器,而是遍历两个迭代器指定的一个元素范...
2018-09-29 21:55:24 435
原创 C++ primer学习笔记——第九章 顺序容器
一个容器就是一些特定类型对象的集合。顺序容器为程序员提供了控制元素存储和访问顺序的能力。一、顺序容器概述顺序容器类型 vector 可变大小数组。支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢 deque 双端队列。支持快速随机访问。在头尾位置插入/删除速度很快 list 双向链表。支持双向顺序访问 forward_list 单向链表。只支持...
2018-09-28 13:02:00 562
原创 C++ primer 学习笔记——第八章 IO库
一、IO类IO库类型和头文件 头文件 类型 iostream(流) istream,wistream从流读取数据 ostream,wostream向流写入数据 iostream,wiostream读写流 fstream(文件) ifstream,wifstream从文件读取数据 ofstream,wofstream向文件写入数据 fstream,wf...
2018-09-23 13:43:07 339 1
原创 C++ primer学习笔记——第七章 类
类的基本思想是数据抽象和封装数据抽象是一种依赖于接口和实现分离的编程技术。接口包括用户所能执行的操作;实现则包括类的数据成员、负责接口实现的函数体以及实现类所需的各种私有函数。封装后的类隐藏了它的实现细节,实现了类的接口和实现的分离。类想要实现数据抽象和封装,需要首先定义一个抽象数据类型。一、定义抽象数据类型1、设计Sales_data类2、定义改进的Sales_data类...
2018-09-21 16:53:38 498 2
原创 C++primer 学习笔记——第六章 函数
一、函数基础函数:返回类型+函数名字+形参列表+函数体通过调用运算符来执行函数。调用运算符的形式是一对圆括号,它作用于一个表达式,该表达式是函数或者指向函数的指针。形参与实参实参是形参的初始值。实参的类型和数量必须与对应的形参类型和数量匹配。即使某个形参不被函数使用,也必须为它提供一个实参。函数的形参列表函数的形参列表可以为空,但是不能省略。void f1() ...
2018-09-19 14:54:32 904
原创 C++ primer学习笔记——第五章 语句
一、简单语句一个表达式,比如ival+5,末尾加上分号就变成了表达式语句。表达式语句的作用是执行表达式并丢弃掉求值结果。空语句:只有一个单独的分号如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句:while(cin>>s && s!=sought) ;//空语句使用空语句时应该加上注释,从而令读这段代码的人...
2018-09-07 18:11:23 449
原创 C++primer 学习笔记——第四章 表达式
一、基础1.基本概念一元运算符:作用于一个运算对象的运算符是一元运算符,如取地址符(&)和解引用符(*);二元运算符:作用两个对象的运算符三元运算符:作用域三个运算对象 一些符号既能作为一元运算符,也能作为二元运算符,比如*。重载运算符:IO库的>>和<<运算符以及string对象,vector对象和迭代器使用的运算符都是重载的运算符...
2018-09-04 14:57:01 334
原创 C++ primer学习笔记——第三章 字符串、向量和数组
一、命名空间的using说明作用域操作符(::)using声明语句:using namespace::name;一旦声明了上述语句,就可以直接访问命名空间的名字。每个名字都需要独立的using声明,而且每句话都得以分号结束。头文件中不应该包含using声明,以免产生始料未及的名字冲突。 二、标准库类型string标准库类型string表示可变长的字符序列,使用s...
2018-08-31 17:07:53 551
原创 C++ primer 第二章习题答案
2.1int、long、long long、short的区别:表示的范围不同,一般short16位,int32位,long32位,long long64位;无符号类型只能表示不小于0的数,带符号类型既可以表示整数也可以表示负数;float与double的区别:内存中所占的比特数不同,有效数位也不同 2.2double或者float都可以,最好选择double。因为float...
2018-08-30 15:13:46 937 2
原创 C++ primer学习笔记——第二章 变量和基本类型
一、基本内置类型C++基本内置类型包括算术类型和空类型。1.算术类型算术类型分为两类:整形(包括字符和布尔型在内)和浮点型bool(布尔型) 长度(字节):1 取值范围:false,truechar(字符型) 长度(字节):1 取值范围:-128...
2018-08-28 10:56:05 482
原创 C++primer 学习笔记——第一章
写在前面:本人小白一枚,之前虽然学过C,但是感觉学的比较浅显,现准备入C++的坑......选了C++primer作为入门学习书籍(真心厚啊。。。从来没看过这么厚的书)。之前没有写过博客,这次写博客呢一是将学习的内容记下来,就是学习笔记,二是以这种方式督促自己能够学得更加透彻。如果有不当之处,还请大家指出。一、 简单的C++程序main函数——程序的入口,操作系统通过调用main来运行...
2018-08-25 10:59:05 155
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人