C语言面试题之判定字符是否唯一

判定字符是否唯一

实例要求

  • 实现一个算法,确定一个字符串 s 的所有字符是否全都不同
    在这里插入图片描述

实例分析

  • 1、使用一个大小为 256 的bool数组 charSet 来记录字符是否出现过;
  • 2、遍历字符串时,如果字符已经在数组中标记过,则返回 false;
  • 3、否则标记该字符为已出现;
  • 4、最终返回 true 表示字符串中的所有字符都不同;

示例代码

bool isUnique(char* astr){if (astr == NULL) {return true; // 空字符串视为所有字符都不同}bool charSet[256] = {false}; // 假设字符集为 ASCIIwhile (*astr != '\0') {int val = (int)(*astr);if (charSet[val]) {return false; // 如果字符已经出现过,则返回 false}charSet[val] = true; // 标记字符已经出现过astr++;}return true; // 遍历完字符串,所有字符都不同
}

运行结果

在这里插入图片描述
在这里插入图片描述

  • ASCII码表

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/601189.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue vue3 手写 动态加载组件

效果展示 一、需求背景: # vue3 项目涉及很多图表加载、表格加载 #考虑手写一个动态加载组件 二、实现思路 通过一个加载状态变量,通过v-if判断,加载状态的变量等于哪一个,动态加载组件内部就显示的哪一块组件。 三、实现效果…

USACO 2024 Open Bronze铜组题解

迟到了一个月的题解...... Logical Moos: 啊这题放在铜组T1雀食有点BT...... 首先,我们关注l前第一和r最后那两组。如果这俩有一个是true,那答案肯定也是true。 否则,在l和r外边的都是false。那我们就只用仔细看l和r中间的玩意儿。对于l和…

机器学习中的GBDT模型及其优缺点(包含Python代码样例)

目录 一、简介 二、优缺点介绍 三、Python代码示例 四、总结 一、简介 GBDT(Gradient Boosting Decision Tree)是一种集成学习算法,被广泛应用于机器学习中的回归和分类问题。它由多个决策树组成,每个决策树都通过迭代逐渐提升…

libVLC 提取视频帧

在前面的文章中,我们使用libvlc_media_player_set_hwnd设置了视频的显示的窗口。 libvlc_media_player_set_hwnd(vlc_mediaPlayer, (void *)ui.widgetShow->winId()); 如果我们想要提取每一帧数据,将数据保存到本地,该如何操作呢&#x…

Mac上怎么合并多张图片?

Mac上怎么合并多张图片?上班过的小伙伴都应该知道,合并拼接图片是一件非常重要且经常需要使用到的图片处理技术,将多张图片合并拼成一张之后能够展现出更多的图片内容。在Mac电脑上,合并多张图片是一项常见的任务,无论…

MySQL——查询数据的处理

一、并列 连接两个数据列的值,并进行输出的格式化处理(显示为一种统一的格式) concat( 列 1 格式化字 符 ) mysql> select concat(vend_name, vend_country) from vendors; --------------------------------- | concat(vend_name, ve…

数据库面试题

文章目录 事务未提交和提交事务的4大特征事务的隔离级别并发事务的问题MVVCundo log 和 redo log记录的隐藏字段readview(读视图) 事务未提交和提交 事务未提交时数据存在于数据库系统的缓存中,而在事务提交后,数据才会被写入到磁…

吴恩达深度学习笔记:深层神经网络(Deep Neural Networks)4.5-4.8

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第四周:深层神经网络(Deep Neural Networks)4.5 为什么使用深层表示?(Why deep representations?) 第一门课:神经网络和深度学习 (…

突破编程_前端_SVG(基础元素介绍)

1 rect 矩形 在 SVG 中&#xff0c;<rect> 元素用于创建圆形。 &#xff08;1&#xff09;基本语法 <rectx"x坐标"y"y坐标"width"宽度"height"高度"rx"可选&#xff1a;圆角x半径"ry"可选&#xff1a;圆角…

AcWing 788. 逆序对的数量——算法基础课题解

AcWing 788. 逆序对的数量 文章目录 题目描述思路CGo模板 题目描述 给定一个长度为 n 的整数数列&#xff0c;请你计算数列中的逆序对的数量。 逆序对的定义如下&#xff1a;对于数列的第 i 个和第 j 个元素&#xff0c;如果满足 i<j且 a[i]>a[j]&#xff0c;则其为一…

数字电路基础(Digital Circuit Basis )

目录 一、什么是数字电路&#xff1f; &#xff08;Digital Circuit &#xff09; 1.概念 2.分类 3.优点 4.数电与模电的区别 二、数制 (十进制&#xff1a;Decimal) 1.概述 2.进位制 3.基数 4.位权 5.二进制的算术运算 三、编码 (二进制&#xff1a;Binary ) 1.什…

(源码+部署+讲解)基于Spring Boot和Vue的大学志愿者服务平台的设计与实现

摘要&#xff1a; 随着互联网技术的快速发展&#xff0c;大学校园内的志愿者活动日益增多&#xff0c;传统的志愿者管理方式已难以满足现代化、信息化的需求。因此&#xff0c;设计并实现一个基于Spring Boot和Vue的大学志愿者服务平台显得尤为重要。本文详细阐述了该平台的设计…