返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >如何进行C++字符串和数字的去重操作和鞍点的寻找
  • 160
分享到

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

2023-06-22 06:06:37 160人浏览 独家记忆
摘要

本篇文章给大家分享的是有关如何进行c++字符串和数字的去重操作和鞍点的寻找,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言一串字符串或者一串数字的去重操作往往困扰着我们,还有

本篇文章给大家分享的是有关如何进行c++字符串和数字的去重操作和鞍点的寻找,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

前言

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

一、数字和字符串去重

标记法对数字去重

#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;}

标记法对字符串去重

标记法对字符串进行去重操作#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]);//因为是每个字符输出,所以是%cflag = 1;}return 0;}

去重之后的输出:

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

 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;}

二、鞍点的计算

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

 什么是鞍点:有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;}

以上就是如何进行C++字符串和数字的去重操作和鞍点的寻找,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网其他教程频道。

--结束END--

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

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

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

猜你喜欢
  • 如何进行C++字符串和数字的去重操作和鞍点的寻找
    本篇文章给大家分享的是有关如何进行C++字符串和数字的去重操作和鞍点的寻找,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。前言一串字符串或者一串数字的去重操作往往困扰着我们,还有...
    99+
    2023-06-22
  • C++字符串和数字的去重操作和鞍点的寻找
    目录前言一、数字和字符串去重二、鞍点的计算总结前言 一串字符串或者一串数字的去重操作往往困扰着我们,还有鞍点的计算,也是一个令人头疼的问题,接下来,我将用标记法和数组的散列映射为大家...
    99+
    2024-04-02
  • C++ 函数库如何进行字符串操作?
    c++++ 标准库提供了丰富的字符串操作函数库,包括获取 c 风格字符串 (std::string::c_str())、获取字符串长度 (std::string::size())、检查字...
    99+
    2024-04-18
    c++ 字符串操作 标准库
  • Javascript中字符串和数字的操作示例
    小编给大家分享一下Javascript中字符串和数字的操作示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、length – 返回字符串的长度‘abcd'.length;&nb...
    99+
    2024-04-02
  • JavaScript如何对字符串和数字进行加法运算
    本篇内容主要讲解“JavaScript如何对字符串和数字进行加法运算”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript如何对字符串和数字进行加法...
    99+
    2024-04-02
  • PHP中数组和字符串是如何进行转换的
    这篇文章主要介绍“PHP中数组和字符串是如何进行转换的”,在日常操作中,相信很多人在PHP中数组和字符串是如何进行转换的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中数组和字符串是如何进行转换的”的疑...
    99+
    2023-06-20
  • php如何去掉字符串首尾的空格和换行
    本篇内容主要讲解“php如何去掉字符串首尾的空格和换行”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何去掉字符串首尾的空格和换行”吧!在php中,可以使用trim()函数来去掉...
    99+
    2023-06-20
  • php数组中如何去除重复的字符串
    今天小编给大家分享一下php数组中如何去除重复的字符串的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用array_uniq...
    99+
    2023-07-05
  • python如何进行leetcode无重复字符的最长字串的实现
    python如何进行leetcode无重复字符的最长字串的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。无重复字符的最长字串是一道字符串处理算法的题目,在日...
    99+
    2023-06-02
  • C#中对字符串进行压缩和解压的实现
    目录利用GZip和Brotli压缩方法的优势,减少字符串数据的大小,提高.NET核心应用程序的性能。在Visual Studio 2022中创建一个控制台应用程序项目安装Benchm...
    99+
    2022-11-13
    C# 字符串压缩解压 C# 字符串压缩 C# 字符串解压
  • js对字符串和数字进行加法运算的一些情况
    对字符串和数字进行加法运算 两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串,如下实例: 实例 x=5+5; y="5"+5; z="Hello"+5; x,y, 和...
    99+
    2023-02-13
    字符串数字相加 数字字符串加法运算
  • shell脚本字符串和数组的使用操作方法
    字符串 可以使用单引号和双引号定义字符串变量但是单引号中不支持变量解析 #! /bin/bash username="mayuan" str_1="hello ${username}" str_2='hello $...
    99+
    2022-06-04
    shell 字符串数组 shell 脚本字符串 shell 脚本数组
  • PHP如何从字符串的开头和结尾去除空格(或其他字符)
    这篇文章将为大家详细讲解有关PHP如何从字符串的开头和结尾去除空格(或其他字符),小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。总分总结构的 : 在 PHP 中,去除字符串开头和结尾的空格或其他字符是一种常...
    99+
    2024-04-02
  • Python随机数和随机字符串的相关操作介绍
    本篇内容介绍了“Python随机数和随机字符串的相关操作介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python随机数与随机字符串&g...
    99+
    2023-06-17
  • 如何分析Java字符串的比较,查找及替换等操作
    如何分析Java字符串的比较,查找及替换等操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在Java当中,为字符串类提供了丰富的操作方法,对于字符串,我们常见的操作就是:...
    99+
    2023-06-26
  • php如何进行数字和字母之间的转化
    今天小编给大家分享一下php如何进行数字和字母之间的转化的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。数字和字母进行相互转化...
    99+
    2023-06-30
  • MySQL 如何将没有分隔符的数字和字符串解释为日期?
    如果一个字符串或数字,即使没有任何分隔符,格式为YYYYMMDDHHMMSS或YYMMDDHHMMSS在提供日期时有意义,那么MySQL将该字符串解释为有效日期。给出了有效日期和无效日期的示例 -mysql> Select Times...
    99+
    2023-10-22
  • 如何进行JS,PY,TS版无重复字符的最长子串分析
    本篇文章给大家分享的是有关如何进行JS,PY,TS版无重复字符的最长子串分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。目描述:给定一个字符串,请你找出其中不含有重复字符的&...
    99+
    2023-06-02
  • PHP如何进行数字和字母的输入限制验证
    PHP 是广泛使用的服务器端脚本语言,可用于 Web 开发。在开发 Web 应用程序中,经常需要验证用户输入的数据。其中,数字和字母的输入限制是一项常见的验证需求。本文将介绍在 PHP 中如何进行数字和字母的输入限制验证。什么是输入限制?在...
    99+
    2023-05-14
  • Linux如何统计文本的的行数/单词数和字符数
    小编给大家分享一下Linux如何统计文本的的行数/单词数和字符数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux系统中想要统计文本的行数、单词和字符数量,...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作