最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串""。
示例 1:
12输入:strs = ["flower","flow","flight"]输出:"fl"
示例 2:
123输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。
提示:
1 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成
代码12345678910111213141516171819202122232425262728293031323334353637383940414243#include <iostream>#include <vector>#include <algorithm>usin ...
问题描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
12345678910字符 数值I 1V 5X 10L 50C 100D 500M 1000
例如, 罗马数字2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。
通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:
I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。
C 可以放在 D (500) 和 M (1000) 的左边,来表示 ...
StrAssign (&T, chars):赋值操作。把串 T 赋值为 chars。
StrCopy (&T, S):复制操作。由串S复制得到串T。
StrEmpty(S):判空操作。若S为空串,则返回TRUE,否则返回FALSE。
StrCompare (S,T):比较操作。若S>T,则返回值1;若S=T,则返回值=0;若S<T,返回-1
StrLength (S):求串长。返回串S的元素个数.
SubString (&Sub, S,pos, len):求子串。用Sub返回串S的第pos个字符起长度为 len的子串。
Concat(&T,Sl,S2):串联接。用T返回由S1和S2联接而成的新串.
Index(S,T):寻找子串的位置
ClearString (&S):清空操作。将S清为空串
DestroyString (&S):销毁串。将串 S 销毁。
123456789101112131415161718192021222324252627282930313233343536373839404142 ...
multimap容器与vector容器应用案列描述:公司今天招聘了10个员工(ABCDEFHJ),10名员工进入公司之后分配到不同部门
部门有:”美术”,”研发”,”策划”
人员信息有: 姓名 工资 部门等组成
随机生成人员信息和分配部门
通过multimap进行信息的插入,key(部门),value(员工)
分部门显示员工信息
代码实现:Staff员工类:头文件
12345678910111213141516171819202122232425262728293031323334//// Created by Beyond on 2024/7/10.//#ifndef UNTITLED2_STAFF_H#define UNTITLED2_STAFF_H#include<iostream>using namespace std;// 员工类定义class Staff {private: string name; // 员工姓名 int salary; // 员工薪资 string department; // 员工部门public: S ...
stl容器的升序与降序案例描述:将Person自定义数据类型进行排序,Person中属性有姓名、年龄、身高
排序规则:按照年龄经行升序,如果年龄相通对身高进行降序
Person类头文件:
12345678910111213141516171819202122232425262728293031323334353637//// Created by Beyond on 2024/7/8.//#ifndef UNTITLED2_PERSON_H#define UNTITLED2_PERSON_H#include <iostream>using namespace std;class Person {private: int age; string name; int height;//单位厘米public: Person(); Person(int age, const string &name, int height); int getAge() const; void setAge(int age); con ...
Markdown语法讲解一小时快速上手,程序员必备的Markdown语法,轻松编写规范文档。
什么是Markdown?Markdown 致力于使阅读和创作文档变得容易。
Markdown是一种轻量级的标记语言,设计初衷是让人们可以使用简单的文本格式来书写和编辑文档,同时具有一定的格式化效果。通过使用Markdown语法,用户可以快速地将纯文本转换为格式化的文档,例如标题、列表、链接、图片等。Markdown语法简单直观,易于学习和使用,逐渐成为了各种平台上书写文档的常用格式,甚至还可以实现Markdown文档对PDF、Word等格式的快速转换。
Markdown的文件通常以.md或.markdown为扩展名
我们可以创建一个TXT文本文档,然后将其后缀改为.md即可开始编辑此Markdown文档。
基础语法讲解在此之前我们需要先安装一个可以编辑Markdown文档的软件,这里推荐:
(强烈推荐) Typora: https://typoraio.cn
Intellij IDEA: https://www.jetbrains.com.cn/idea/
准备好文档编辑器之后,我们就可 ...
stl容器小练习-运用vector容器与deque容器有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。
1. 创建五名选手,放到vector中
2. 遍历vector容器,取出来每一个选手,执行for循环,可以把10个评分打分存到deque容器中**
3. sort算法对deque容器中分数排序,pop_back pop_front去除最高和最低分
4. deque容器遍历一遍,累加分数
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812 ...
C++第一部分 基础编程1.1. 初识C++1.1.1. 编程语言是什么我们编写程序,就是希望与计算机进行交流,让计算机帮助我们实现我们期望的效果。从这点出发,其实和人与人之间的沟通交流是一样的。两个人如果需要正常的沟通交流,必须要满足的条件是,你说的话对方听得懂,对方说的话你也能听得懂。如果条件不满足,你说中文对方不动,对方说英文你不懂。那么此时就没有办法交流。
写程序也是这样,我们需要和计算机沟通交流。但是很遗憾,机器听不懂我们人类的语言,也学不会人类的语言。那么我们去学习机器的语言呢?更加麻烦,计算机只认识0和1,不会太复杂的语言。此时我们怎么办?
我们可以借助一个“翻译”,把我们的需求翻译成机器语言,说给机器听。但是,这个翻译其实也是一个程序,依然没有办法学习人类的语言。幸运的是,这个“翻译员”有自己的独特的语言体系,而这种语言体系比起机器语言来说,要更加容易理解。这就是我们俗称的“编程语言”。
编程语言有很多很多,有些语言更加贴合机器的世界,这些语言对我们人类来说,学习的成本就比较高。也有一些语言,更加贴合人类的世界,这类的编程语言,更加符合我们人类的生活习惯和思维逻辑,学习 ...
1. 网络编程入门1.1 网络编程概述
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统
网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输
1.2 网络编程三要素
IP地址要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。也就是设备的标识
端口网络的通信,本质上是两个应用程序的通信。每台计算机都有很多的应用程序,那么在网络通信时,如何区分这些应用程序呢?如果说IP地址可以唯一标识网络中的设备,那么端口号就可以唯一标识设备中的应用程序了。也就是应用程序的标识
协议通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵 ...
今日内容
正则表达式
教学目标
能够理解正则表达式的作用
能够使用正则表达式的字符类
能够使用正则表达式的逻辑运算符
能够使用正则表达式的预定义字符类
能够使用正则表达式的限定符
能够使用正则表达式的分组
能够在String的split方法中使用正则表达式
正则表达式1.1 正则表达式的概念及演示
在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位长度而且只能包含大小写字母、数字等。正则表达式就是用来验证各种字符串的规则。它内部描述了一些规则,我们可以验证用户输入的字符串是否匹配这个规则。
先看一个不使用正则表达式验证的例子:下面的程序让用户输入一个QQ号码,我们要验证:
QQ号码必须是5–15位长度
而且必须全部是数字
而且首位不能为0
123456789101112131415161718192021222324252627282930313233343536373839package com.itheima.a08regexdemo;public class RegexDemo1 { public sta ...