iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++字符串和数字的去重操作和鞍点的寻找
  • 178
分享到

C++字符串和数字的去重操作和鞍点的寻找

2024-04-02 19:04:59 178人浏览 薄情痞子
摘要

目录前言一、数字和字符串去重二、鞍点的计算总结前言 一串字符串或者一串数字的去重操作往往困扰着我们,还有鞍点的计算,也是一个令人头疼的问题,接下来,我将用标记法和数组的散列映射为大家

前言

一串字符串或者一串数字的去重操作往往困扰着我们,还有鞍点的计算,也是一个令人头疼的问题,接下来,我将用标记法和数组的散列映射为大家剖析去重操作,以及鞍点的计算。

提示:以下是本篇文章正文内容,下面案例可供参考

一、数字和字符串去重

1、标记法对数字去重


#include<stdio.h>
int main()
{
	int n, i, j, flag = 1;//先将flag置一
	int a[1000];
	scanf("%d", &n);
	for (i = 0; i < n; i++)//写一个for循环读入数据
	{
		scanf("%d", &a[i]);
		for (j = 0; j < i; j++)
		{
			if (a[i] == a[j])
			{
				flag = 0;
				break;
			}
		}
		if (flag) printf("%d ", a[i]);
		flag = 1;//标记的flag重新置1,循环再次继续。
	}
 
	return 0;
}

2、标记法对字符串去重


标记法对字符串进行去重操作
#include<string.h>
int main()
{
	int i, j, flag=1;
	char s[1000];
	gets(s);//直接读入字符串,包括空格
	for (i = 0; i < strlen(s); i++)//直接用strlen计算输入的字符串的长度
	{
		for (j = 0; j < i; j++)
		{
			if (s[i] == s[j])//如果有相同字符,则将标记置0,并跳出循环
			{
				flag = 0;
				break;
			}
		}
		if (flag) printf("%c", s[i]);//因为是每个字符输出,所以是%c
		flag = 1;
	}
	return 0;
}

去重之后的输出:

 

 3散列映射对数字去重


#include<stdio.h>
int main()
{
	int n;
	int a[1000], b[6000] = { 0 };//定义两个数组,第二个数组要开得比第一个数组大一些;
	scanf("%d", &n);
	for (int i = 0; i < n; i++) scanf("%d", &a[i]);
	for (int i = 0; i < n; i++)
	{
		b[a[i]]++;//将数组a的数当作数组b的下标,将数组b中a数组作下标的数都变1;
		if (b[a[i]] > 1) a[i] = -1;//若该数重复被遇到,则再加,所以但b[a[i]]>1时,说明已经遇到过一次了
	}
	for (int i = 0; i < n; i++) if (a[i] != -1) printf("%d ", a[i]);
	return 0;
}

 4、(1)散列映射对字符串去重


#include<stdio.h>
#include<string.h>
int main()
{
	int i, j=0;
	char a[1000], b[6000] = { 0 };
	gets(a);//直接读入字符串,包括空格
	for (i = 0; i < strlen(a); i++)//直接用strlen计算输入的字符串的长度
	{
		b[a[i]]++;
		if (b[a[i]] > 1) a[i] = -1; //若该数重复被遇到,则再加,所以但b[a[i]] > 1时,说明已经遇到过一次了
	}
	for (i = 0; i < strlen(a); i++)
	{
		if(a[i] !=-1) printf("%c", a[i]);
	}
	return 0;
}

(2)散列映射对字符串去重(更好理解的版本)


#include<stdio.h>
int main()
{
	char s1[400],s2[400];
	int a = 0,b=0;
	int arr[300] = {0};
	gets(s1);
	for (int i = 0; s1[i]; i++)
		a++;//计算s1的元素个数
	for (int i = a; i >=0; i--)
	{
		arr[s1[i]]++;将s1的数组内的元素当下标
		if (arr[s1[i]] == 1)//如果arr数组的元素=1,则将s1的元素存到s2
		{
			s2[b] = s1[i];
			b++;计算数组s2的个数
		}
	}
	for (int i = b - 1; i >= 0; i--)
		printf("%c", s2[i]);
	return 0;
}

二、鞍点的计算

 什么是鞍点:有1个n×n的矩阵,从左上到右下称为主斜线(倾角135º),从右上到左下称为次斜线(倾角45º),在主斜线上最大,次斜线上最小的元素称为该矩阵的斜线鞍点。


#include<stdio.h>
int a[100][100];
int main()
{
	int p[200], q[200];//p主大,q主小
	int n, i, m,j,s;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
		for (j = 0; j < n; j++) scanf("%d", &a[i][j]);
	for (i = 0; i < 2 * n - 1; i++)//线条数
	{
		p[i] = 0x80000000;//最小整数
		q[i] = 0x7fffffff;//最大整数
	}
	for (i = 0; i < n; i++)
		for (j = 0; j < n; j++)
		{
			if (a[i][j] > p[n + i - j - 1]) p[n + i - j - 1] = a[i][j];//找主斜线的最大值
			if (a[i][j] < q[i + j]) q[i + j] = a[i][j];//找次斜线最小值
		}
	s = 0;
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < n; j++)
		{
			if (a[i][j] == p[n + i - j - 1] && a[i][j] == q[i + j])
				s += a[i][j];
		}
	}printf("%d", s);
	return 0;
}

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

到此这篇关于c++字符串和数字的去重操作和鞍点的寻找的文章就介绍到这了,更多相关C++去重和鞍点寻找内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++字符串和数字的去重操作和鞍点的寻找

本文链接: https://www.lsjlt.com/news/161188.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++字符串和数字的去重操作和鞍点的寻找
    目录前言一、数字和字符串去重二、鞍点的计算总结前言 一串字符串或者一串数字的去重操作往往困扰着我们,还有鞍点的计算,也是一个令人头疼的问题,接下来,我将用标记法和数组的散列映射为大家...
    99+
    2024-04-02
  • 如何进行C++字符串和数字的去重操作和鞍点的寻找
    本篇文章给大家分享的是有关如何进行C++字符串和数字的去重操作和鞍点的寻找,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言一串字符串或者一串数字的去重操作往往困扰着我们,还有...
    99+
    2023-06-22
  • Javascript中字符串和数字的操作示例
    小编给大家分享一下Javascript中字符串和数字的操作示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、length – 返回字符串的长度‘abcd'.length;&nb...
    99+
    2024-04-02
  • C++指针和数组:字符和字符串、字符数组的关联和区别
    目录一、字符指针、字符数组字符指针字符数组二、字符串指针三、(字符串)指针数组四、总结字符串的本质就是字符数组,将字符串作为字符数组来处理。字符数组和字符串都可以作为存放字符的数组,...
    99+
    2022-12-23
    C++字符 C++字符串 C++字符数组
  • C#字符串的操作步骤
    这篇文章主要介绍“C#字符串的操作步骤”,在日常操作中,相信很多人在C#字符串的操作步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#字符串的操作步骤”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!在C...
    99+
    2023-06-17
  • C/C++字符函数和字符串函数详解————长度受限制的字符串函数
    个人主页:点我进入主页 专栏分类:C语言初阶      C语言程序设计————KTV       C语言小游戏     C语言进阶 C语言刷题 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.前言      ...
    99+
    2023-10-02
    c语言
  • C语言的字符函数和字符串函数详解
    目录0. 前言1.函数介绍及部分函数模拟实现1.1 strlen模拟实现1.2 strcpy模拟实现1.3 strcat模拟实现1.4 strcmp 模拟实现1.5 str...
    99+
    2024-04-02
  • Python数字或字符串的补零操作
    这篇文章主要讲解了“Python数字或字符串的补零操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python数字或字符串的补零操作”吧!有时候在使用 Python 的时候,想要对一个数字...
    99+
    2023-06-20
  • C语言的字符函数和字符串函数怎么用
    这篇文章主要讲解了“C语言的字符函数和字符串函数怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言的字符函数和字符串函数怎么用”吧!一、字符&字符串函数1.strlen--求...
    99+
    2023-06-26
  • JavaScript字符串运算符、字符串和数字相加的方法
    本篇内容介绍了“JavaScript字符串运算符、字符串和数字相加的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能...
    99+
    2024-04-02
  • C语言中操作字符串的函数详解
    目录一、函数表二、strlen实例三、strcmp实例四、strcpy实例五、stract实例六、strchr实例总结一、函数表 函数名函数功能strlensize_t strlen...
    99+
    2024-04-02
  • c语言怎么读入字符串中的数字和字母
    在 c 语言中,可以使用 scanf() 函数从字符串中读入数字和字母。1. 读入数字: (1)如果数字用空格分隔,使用 %d 格式说明符。 (2)如果数字不分隔,使用 %d 并指定宽度...
    99+
    2024-05-14
    c语言
  • Python Hello World和字符串操作的实例分析
    Python Hello World和字符串操作的实例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。开那么,让我们开始吧!如果你糊涂了,我建议你在单独的选项卡中打开下面...
    99+
    2023-06-17
  • C语言的常量和字符串
    目录常量种类字符串总结 常量种类 C语言中,我们常使用的常量有以下几种: 字面常量 const常变量 #define定义的标识符常量 枚举常量 代...
    99+
    2024-04-02
  • 去除 PHP 数组中特定字符串或数字的重复项
    如何去除 php 数组中的重复项:array_unique() 函数返回一个新数组,其中重复项已被删除,保留第一个出现的值。array_filter() 函数使用回调函数,返回一个新数组...
    99+
    2024-04-28
    编程语言 数据处理
  • Python随机数和随机字符串的相关操作介绍
    本篇内容介绍了“Python随机数和随机字符串的相关操作介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python随机数与随机字符串&g...
    99+
    2023-06-17
  • Python 数据类型中的字符串和数字
    目录一、变量1.变量2.变量的命名规则二、标准数据类型1.字符串字符串(string)转义字符修改字符串大小写删除字符串空白判断字符串全是字母或数字字符串查找字符串替换2.数字(Nu...
    99+
    2024-04-02
  • php数组中如何去除重复的字符串
    今天小编给大家分享一下php数组中如何去除重复的字符串的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用array_uniq...
    99+
    2023-07-05
  • php数组中怎么去除重复的字符串
    在PHP编程中,数组常常被用作存储和处理数据的工具。然而,当数组中包含重复的字符串,这可能会导致一些问题。幸运的是,PHP提供了一些内置函数和技巧,以便去除数组中的重复字符串。在本文中,我们将学习如何使用PHP编写一个去除数组中重复字符串的...
    99+
    2023-05-14
    php
  • golang中json小谈之字符串转浮点数的操作
    有时会有这种需求,将一个json数据形如: {"x":"golang", "y":"520.1314"} 中的y反序列化为浮点类型,如果这样写: package main ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作