任务1 字符串拼接 依次输入两个字符串赋值给s1和s2,并将s1中所有英文字母转换为大写后连接到s2后面,并将拼接的结果赋值给s3,输出s3的值。 提示:应用“+”运算和字符串的upper()方法。 任务2 根据字符串的长度确定字符串输出重复次数 输入一个字符串赋值给s4,根据s4的长度来确定将s3重复多少次,重复运算结果赋值给s5,并输出s5的值。例如:输入“A1”, 如果s3的值是123XTU,则输出123XTU123XTU。 提示:求字符串的长度用内置函数len(),重复运算用“*” 任务3 访问字符串以及子字符串 输入一个长度为2字符串赋值s6,判定s6在s5的第2至第11个字符(包含第11个字符)之间首次出现的位置与出现次数,若s5的长度小于10,则表示从第2个字符到字符串末尾的子串。例如:输入“XT”,若s5的值是123XTU123XTU,则输出“2 2”,第2个到第11字符的子串是23XTU123XT:表示:“XT”在子串“23XTU123XT”中首次出现的起始位置是2,总共出现了2次。 提示:本任务中需要用到字符串的切片运算:[m:n],出现位置与次数分别使用序列类型的共有方法:index()和count() 任务4 字符串的替换 输入一个字符串赋值给s8,将s5中所有的数字符号”2”替换成存储在s8中的字符串,并将替换结果赋值给s9,输出s9的值。例如:输入一个字符串“TO”,s5是123XTU123XTU,则输出替换后的结果为:1TO3XTU1TO3XTU。 提示:本任务中需要用到字符串的方法:replace() 任务5 字符串反转 将任务4中替换结果s9反转,输出s9反转后的值。例如:s9中存储的是:1TO3XTU1TO3XTU,则输出的反转结果是:UTX3OT1UTX3OT1 提示:本任务中需要用到字符串的切片运算:[::-1]
集合具有共同特征的事物,可以是由两个迭代器定义的范围内的一系列对象,也可以是一种有特殊特征的容器类型。
切换list[begin:end],获取切换list内元素,从begin开始,至end结束,不包含end
每日一题 【第13天】LeetCode 151. 翻转字符串里的单词 一、题目 Reverse Words in a String 输入: "a good example" 输出: "example good a" 解释: 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/fan-zhuan-dan-ci-shun-xu-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商
字符串 如果想让这套题目有意义,就不要申请额外空间。 344.反转字符串 双指针 // 时间复杂度O(n),执行n/2次交换 // 空间复杂度O(1) class Solution { public: void reverseString(vector<char>& s) { int n = s.size(); for(int left = 0,right = n-1;left <= right;left++,right--){ swap(
reverse-words-in-a-string 一、描述 151. 翻转字符串里的单词 给定一个字符串,逐个翻转字符串中的每个单词。 说明: 无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 进阶: 请选用 C 语言的用户尝试使 ,意思是说原地反转。 输入: " hello world! " 输出: "world! hello" 解释: 输入字符串可以在前面或者后面包含多余的空格,但
东京奥运会圆满收官!当然我自己也将迎来留学前的最后准备,所以更新速度可能还是会比较慢……但还好,大部分的内容都已经在之前写的差不多了,也希望最后这几篇我也能够尽快更完,当然也希望大家可以谅解~
1. 库里面的构造函数实现了多个版本,我们这里就实现最常用的参数为const char *的版本,为了同时支持无参的默认构造,这里就不在多写一个无参的默认构造,而是用全缺省的const char *参数来替代无参和const char *参数的两个构造函数版本。
awk是专门为文本处理设计的编程语言,是一门数据驱动的编程语言,与sed类似都是以数据驱动的行处理软件,主要用于数据扫描、过滤、统计汇总工作,数据可以来自标准输入、管道或者文件。
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
https://leetcode-cn.com/problems/length-of-last-word/
1.可以用下标访问的容器有(既可以插入也可以赋值):vector、deque、map;
vector:长度可变数组,即“长度根据需要而自动改变的数组”。 使用vector需于代码头部添加#include<vector>,并且随后加上一句:using namespace std;即可。
栗酱有一天在网上冲浪的时候发现了一道很有意思的数据结构题。 该数据结构形如长条形。 一开始该容器为空,有以下七种操作。
数组过大超过限制,可定义为全局变量。开一个20000大小的数组,用memset函数赋初值。
相比于verilog仍和net区分的如此清楚,在sv中新引入了一个数据类型logic,他们的区别和联系在于:
不论是开发者还是写文章的博主。现在主流编辑器是Markdown,所以学习Markdown语法对提升技能很有帮助。想要学习Markdown,这篇文章就够了。
awk 通常表达式awk 'begin{ commands } pattern{ commands } end{ commands }',其中 begin 部分和 end 部分可以省略,即awk '{代码}',比如最简单的打印第一列awk '{print $1}'就是这样。 运行原理:
也算是临时抱佛脚了吧,3月之前刷了lintcode100多道题吧,后来发文章什么的就放下了,最近秋招在即在牛客网上想着把剑指offer这本书刷完,尽量早刷完吧,最近也很忙。
约瑟夫问题是:有 n 只猴子,按顺时针方向围成一圈选大王(编号为 1~n),从第 1 号开始报数,一直数到 m,数到 m 的猴子退到圈外,剩下的猴子再接着从 1 开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王。编程求输入 n、m 后,输出最后猴王的编号。
标准库没有为每个顺序容器都定义成员函数来实现诸如查找特定元素、替换或删除一个特定值、重排元素顺序等操作,而是定义了一组泛型算法generic algrithm:
,即最差情况下需要比较红黑树的高度次。 在C++11中,STL又提供了4个unordered系列的关联式容器,这四个容器与红黑树结构的关联式容器使用方式基本一样,只是其底层结构不同。 本文中只对unordered_map和unordered_set进行介绍, unordered_multimap和unordered_multiset大家可自行查看文档介绍。
——老子
下面的 std::list#insert 函数原型的作用是 在 指定的 迭代器位置 position 上 , 插入 1 个 value 值元素 ;
https://leetcode-cn.com/problems/reverse-words-in-a-string/
Lambda我们可以将其理解为一个未命名的内联函数。 与任何函数类似,一个lambda具有一个返回类型,一个参数列表和一个函数体。 但与函数不同,lambda可能定义在函数内部。 一个lambda表达式具有如下形式: [capture list] (parameter list) ->return type {function body} capture list: 捕获列表,是一个lambda所在函数中定义的局部变量列表(通常为空) parameter list:参数列表 return type:返回类型 function body:函数体 但是与普通函数不同,lambda必须使用尾置返回来指定返回类型 我们可以忽略参数列表和返回类型,但必须永远包含捕获列表和函数体
awk是什么?awk是一个报表生成器,拥有强大的文本格式化的能力。我们可以利用awk来处理文本,整理成各种“表”的样子。
在 C++ 语言的 STL 标准模板库 中 , set 集合容器 是一个有序的集合 , 存储的元素值都是唯一的 , 不重复的 ;
程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入。 注意:cin>>和cin.get()都残留数据不会出错,但是cin.getline会报错,下面的示例中都有体现。
示例 1: 输入: "the sky is blue" 输出: "blue is sky the"
其中最为常用的就是处理字符串,里面包含了CharIndex()等函数,非常方便使用。
list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速的。list的实现大概是这样的:list的每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存了前驱元素的首地址;数据域则是本节点的数据;后继元素指针域则保存了后继元素的首地址。其实,list和循环链表也有相似的地方,即:头节点的前驱元素指针域保存的是链表中尾元素的首地址,list的尾节点的后继元素指针域则保存了头节点的首地址,这样,list实际上就构成了一个双向循环链。由于list元素节点并不要求在一段连续的内存中,显然在list中是不支持快速随机存取的,因此对于迭代器,只能通过“++”或“–”操作将迭代器移动到后继/前驱节点元素处。而不能对迭代器进行+n或-n的操作,这点,是与vector等不同的地方。
数组任意地方删除或者添加元素 start 开始 deletedCount 删除个数
set是STL中一种标准关联容器。它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。 set,顾名思义是“集合”的意思,在set中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交(set_intersection),差(set_difference) 并(set_union),对称差(set_symmetric_difference) 等一些集合上的操作,如果需要集合中的元素允许重复那么可
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
使用vector需于代码头部添加#include<set>,并且随后加上一句:using namespace std;即可。
隐式数据共享类当作为函数参数传递的时候,不仅安全而且效率很高,因为传递的时候只是传递了数据的指针,数据本身只当自己被修改的时候才会去复制。简称写时复制。
给定一个字符串,“1 2 2 3”,数字中间由空格隔开,保证字符串最少有一个字符,返回字符串中字符数值的最大值,最小值
list 双向链表容器 提供了 push_back、pop_back、push_front 和 pop_front 等一系列用于操作列表元素的成员函数 , 函数原型如下 :
内置对象有很多,我们主要是记下这些内置对象的用法即可。但是同学们也不可能一下子记住这么多的方法,因此当同学们忘了某个方法该如何使用的时候,可以通过以下方式查看。
sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。
它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作数据可以来自标准输入也可以是管道或文件
因为string对象提供了自己的内存管理功能,所以不需要再显式定义复制构造函数、析构程序和赋值运算符。
一个lambda可以出现在一个函数内部,使用其局部变量,但它只能使用那些指明的变量。
//一些函数只允许iterator不允许reverse_iterator,该怎么实现呢?
Windows 徽标键 + Shift + C打开超级按钮菜单Windows 徽标键 + D显示和隐藏桌面Windows 徽标键 + Alt + D显示和隐藏桌面上的日期和时间Windows 徽标键 + E打开文件资源管理器Windows 徽标键 + F打开反馈中心并获取屏幕截图Windows 徽标键 + G打开游戏栏(当游戏处于打开状态时)Windows 徽标键 + H开始听写Windows 徽标键 + I打开“设置”Windows 徽标键 + J 请将焦点设置到可用的 Windows 提示。 当出现 Windows 提示时,请将焦点移到提示上。 再次按下键盘快捷方式,将焦点放在屏幕上 Windows 提示所固定的元素上。Windows 徽标键 + K打开“连接”快速操作Windows 徽标键 + L锁定你的电脑或切换帐户Windows 徽标键 + M最小化所有窗口Windows 徽标键 + O锁定设备方向Windows 徽标键 + P选择演示显示模式Windows 徽标键 + R打开“运行”对话框Windows 徽标键 + S打开“搜索”Windows 徽标键 + T循环浏览任务栏上的应用Windows 徽标键 + U打开“轻松使用设置中心”Windows 徽标键 + V循环浏览通知Windows 徽标键 + Shift + V以相反顺序循环浏览通知Windows 徽标键 + X打开“快速链接”菜单Windows 徽标键 + Y在 Windows Mixed Reality 与桌面之间切换输入Windows 徽标键 + Z以全屏模式显示应用中可用的命令Windows 徽标键 + 句点 (.) 或分号 (;)打开表情符号面板Windows 徽标键 + 逗号 (,)临时速览桌面Windows 徽标键 + Pause 键显示“系统属性”对话框Windows 徽标键 + Ctrl + F搜索电脑(如果已连接到网络)Windows 徽标键 + Shift + M还原桌面上的最小化窗口Windows 徽标键 + 数字打开桌面,然后启动固定到任务栏的应用(位于数字所指明的位置)。如果应用已处于运行状态,则切换至该应用。Windows 徽标键 + Shift + 数字打开桌面,然后启动固定到任务栏的应用新实例(位于数字所指明的位置)Windows 徽标键 + Ctrl + 数字打开桌面,然后切换至固定到任务栏的应用的最后活动窗口(位于数字所指明的位置)Windows 徽标键 + Alt + 数字打开桌面,然后打开固定到任务栏的应用的“跳转列表”(位于数字所指明的位置)Windows 徽标键 + Ctrl + Shift + 数字打开桌面,然后以管理员身份打开位于任务栏上指定位置的应用新实例Windows 徽标键 + Tab打开任务视图Windows 徽标键 向上键最大化窗口Windows 徽标键 向下键删除屏幕上的当前应用并最小化桌面窗口Windows 徽标键 + 向左键最大化屏幕左侧的应用或桌面窗口Windows 徽标键 + 向右键最大化屏幕右侧的应用或桌面窗口Windows 徽标键 + Home最小化活动桌面窗口之外的所有窗口(在第二个笔划时还原所有窗口)Windows 徽标键 + Shift + 向上键将桌面窗口拉伸至屏幕顶部和底部Windows 徽标键 + Shift + 向下键在垂直方向上还原/最小化活动桌面窗口,而宽度保持不变Windows 徽标键 Shift + 向左键或向右键将桌面上的应用或窗口从一台显示器移动至另一台显示器Windows 徽标键+ 空格键切换输入语言和键盘布局Windows 徽标键+ Ctrl + 空格键对之前选择的输入所做的更改Windows 徽标键+ Ctrl + Enter打开讲述人Windows 徽标键+ 加号 (+)打开放大镜Windows 徽标键+ 正斜杠 (/)开始输入法复原流程Windows 徽标键 + Ctrl + V打开肩式分接设备 命令提示符键盘快捷方式
cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。
最近写召回、混排算子的时候需要用c++,对我来说就是纯新手入门,这里记录一些常见到的容器和他们的一些特性。
领取专属 10元无门槛券
手把手带您无忧上云