给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对
1 #include<iostream>
2 #include<string>
3 #define MAX 100
4 using namespace std;
5 bool check(string str1,string str2)
6 {
7 bool flag = true;
8 for(int i=0; i<str1.length(); i++)
9 {
10 if(str1[i]!=str2[str1.length()-1-i])
11 {
12 flag = false;
13 return flag;
14 }
15 }
16 return flag;
17 }
18 int main(int argc, char* argv[])
19 {
20 string str[MAX];
21 int n,a[MAX];
22 bool flag[MAX];
23 cin>>n;
24 for(int i=0; i<n; i++)
25 {
26 cin>>str[i];
27 a[i] = str[i].length();
28 flag[i] = true;
29 }
30 int num = 0;
31 for(int i=0; i<n; i++)
32 {
33 int len = a[i];
34 if(flag[i]==true)
35 {
36 for(int j=0;j<n;j++)
37 {
38 if(flag[j]==true&&len==a[j])
39 {
40 if(check(str[i],str[j]))
41 {
42 num++;
43 flag[i] = false;
44 flag[j] = false;
45 break;
46 }
47 }
48 }
49 }
50 }
51 for(int i=0; i<n; i++)
52 cout<<str[i]<<'\t';
53 cout<<endl;
54 cout<<"The Number of Matched String Is: "<<num<<endl;
55 getchar();
56 getchar();
57 return 0;
58 }
给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对的更多相关文章
- 给一个非常长的字符串str 另一个字符集比方{a,b,c} 找出str 里包括{a,b,c}的最短子串。要求O(n)
给一个非常长的字符串str 另一个字符集比方{a,b,c} 找出str 里包括{a,b,c}的最短子串.要求O(n). 比方,字符集是a,b,c,字符串是abdcaabcx,则最短子串为abc. 设置 ...
- js比较两个String字符串找出不同,并将不同处高亮显示
根据java代码改写成js,下边js文件代码: function StringBuffer() { this.__strings__ = []; }; StringBuffer.prototype.a ...
- 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵
题目描述: 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵(矩阵中元素个数为矩阵面积) 输入: 每个案例第一行三个正整数N,M<=100,表示矩阵大小,和一个整数K 接下 ...
- 用C#写一个函数,在一个数组中找出随意几个值相加等于一个值 与迭代器对比
算法!用C#写一个函数,在一个数组中找出随意几个值相加等于一个值比如,数组{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} 要找出那些数相加等 ...
- 重装系统分区时,发现一个叫LVM的东西,找出来和大家分享
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前 ...
- Java字符串找出4个字节长度的字符
不解释,直接上代码: 由于Iteye代码贴四个字节的UTF-8字符出错,特能图的方式发布几个特殊字符: public class Byte4Check { public static void m ...
- 面试- 阿里-. 大数据题目- 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
假如每个url大小为10bytes,那么可以估计每个文件的大小为50G×64=320G,远远大于内存限制的4G,所以不可能将其完全加载到内存中处理,可以采用分治的思想来解决. Step1:遍历文件a, ...
- LeetCode1237找出给定方程的正整数解
题目 给定方程f和值z,找出给定方程f(x,y)=z的正整数解x,y.f(x,y)关于x.y都是严格单调的. 题目保证 f(x, y) == z 的解处于 1 <= x, y <= 100 ...
- 使用python删除一个文件或文件夹
使用python删除一个文件或文件夹,需要使用os模块. import osos.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用 ...
随机推荐
- yapi安装 - windows
yapi官网https://hellosean1025.github.io/yapi/devops/index.html 简介 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产 ...
- maven-mvnd安装使用
目录 安装使用 官方介绍 使用注意 安装使用 下载 https://github.com/apache/maven-mvnd/releases/tag/0.7.1 ,mvnd-0.7.1-darwin ...
- Java课程设计---索引
一.基础配置 ============================================================== 1.Java课程设计---Eclipse基本环境配置 2.J ...
- python爬虫之抓取小说(逆天邪神)
2022-03-06 23:05:11 申明:自我娱乐,对自我学习过程的总结. 正文: 环境: 系统:win10, python版本:python3.10.2, 工具:pycharm. 项目目标: 实 ...
- vue 中contenteditable="true"添加可编辑属性后v-model双向绑定失效的解决办法
在项目中会遇到需要编辑单元格的双向绑定问题,v-model双向绑定会在添加contenteditable="true"属性后失效解决方法如下,亲测好用(v-html和@blur实现 ...
- 系统整理qt笔记1
main.cpp #include "mywidget.h" #include <QApplication>//包含一个应用程序类的头文件 #include <i ...
- gcc与g++区别;编译选项
gcc与g++区别:可以相互编译,但是gcc不会自动进行c++的链接 gcc g++编译选项: -E 预处理 -S 编译指定源文件但是不尽兴汇编 -c 编译汇编,但是不进行链接 -o 编译成可执行文件 ...
- C++:用字符串数组实现大数运算,以两个不高于40位的大数运算为例。
因为基本数据类型中整型的内存范围有限,所以直接进行大数之间的运算,不仅浪费空间,而且运行缓慢,甚至有些会导致数据溢出. 那怎么办呢? 这时我们就想直接不行,那咱们来间接的. 这就是我们今天主要要讲的: ...
- react的”Hello World !“
本文主要简述react的开始使用 1.引入js文件 <!-- 1.核心文件 --> <script crossorigin src="https://unpkg.com/r ...
- springCould注解和配置以及pom依赖
SpringCloud注解和配置以及pom依赖说明 在本文中说明了pom依赖可以支持什么功能,以及支持什么注解,引入该依赖可以在application.properties中添加什么配置. 1.Spr ...