9.每日LeetCode-笔试题,判断字符串中字符是否全都不同

题目

问题描述 判断字符串中字符是否全都不同
请实现一个算法,确定一个字符串的所有字符【是否全都不同】。这里我们要求【不允许使用额外的存储结构】。
给定一个string,请返回一个bool值,true代表所有字符全都不同,false代表存在相同的字符。 保证字符串中的字符为【ASCII字符】。字符串的长度小于等于【3000】。
解题思路
这里有几个重点,第一个是ASCII字符,ASCII字符字符一共有256个,其中128个是常用字符,可以在键盘上输入。128之后的是键盘上无法找到的。
然后是全部不同,也就是字符串中的字符没有重复的,再次,不准使用额外的储存结构,且字符串小于等于3000。
如果允许其他额外储存结构,这个题目很好做。如果不允许的话,可以使用golang内置的方式实现。

解法

package mainimport "fmt"//问题描述 判断字符串中字符是否全都不同
//请实现一个算法,确定一个字符串的所有字符【是否全都不同】。这里我们要求【不允许使用额外的存储结构】。
//给定一个string,请返回一个bool值,true代表所有字符全都不同,false代表存在相同的字符。 保证字符串中的字符为【ASCII字符】。字符串的长度小于等于【3000】。
//解题思路
//这里有几个重点,第一个是ASCII字符,ASCII字符字符一共有256个,其中128个是常用字符,可以在键盘上输入。128之后的是键盘上无法找到的。
//然后是全部不同,也就是字符串中的字符没有重复的,再次,不准使用额外的储存结构,且字符串小于等于3000。
//如果允许其他额外储存结构,这个题目很好做。如果不允许的话,可以使用golang内置的方式实现。
//源码参考func main() {str := "asdASD123"fmt.Println(isRepeat(str))
}func isRepeat(str string) bool {arr := []rune(str)if len(arr) > 3000 {return false}for i := 0; i < len(arr); i++ {if arr[i] > 128 {return false}for j := 0; j < len(arr); j++ {if i != j && arr[i] == arr[j] {return false}}}return true
}

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

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

相关文章

英伟达和IBM搞事情!主攻“量子计算+AI”

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨娴睿/慕一 排版丨沛贤 深度好文&#xff1a;2000字丨8分钟阅读 Ismael Faro是一位计算机工程师&#xff0c;自2015年以来&#xff0c;他就成为开发IBM量子软件生态系统的重要人物。从2016…

【Linux】rouyiVue 项目部署全过程(含MySQL,Nginx等中间件部署)

查看nginx 进程命令 ps aux | grep server_name 1. 安装MySQL 1.1 下载压缩包 官网下载 1.2 解压 上传并解压好放在指定位置 创建soft文件夹 mkdir /soft上传文件&#xff0c;在该目录下再创建一个mysql文件夹&#xff0c;将安装包解压到新文件夹中 mkdir /soft/mysql-…

【odoo】常用的字符转义:“>“,“<“,““,“/“等

概要 字符转义是指在编写代码或处理文本数据时&#xff0c;将特殊字符转换为另一种形式&#xff0c;以便在特定的上下文中正确解析和处理这些字符。 内容 特殊字符描述XML转义表示法&和符号&amp;<小于符号<>大于符号>"双引号&quot;单引号&ap…

【前端】前端项目埋点:数据驱动决策的基础

前端项目埋点&#xff1a;数据驱动决策的基础 在现代Web开发中&#xff0c;数据分析和用户行为追踪是提升产品体验和优化业务决策的关键手段。埋点&#xff08;Event Tracking&#xff09;是实现这一目标的重要技术。本文将介绍前端项目中埋点的基本概念、常见方法以及实现技巧…

Qdrant 的基础教程

目录 安装Qdrant安装Qdrant客户端初始化Qdrant客户端创建集合&#xff08;Collection&#xff09;插入向量数据创建索引搜索向量清理资源 Qdrant是一个开源的向量数据库&#xff0c;它专注于高维向量的快速相似性搜索。以下是一个基础的Qdrant教程&#xff0c;帮助你开始使用Qd…

汽车IVI中控开发入门及进阶(三十二):i.MX linux开发之Yocto

前言: 对于NXP的i.mx,如果基于linux开发,需要熟悉以下文档: IMX_YOCTO_PROJECT_USERS_GUIDE.pdf IMX_LINUX_USERS_GUIDE.pdf IMX_GRAPHICS_USERS_GUIDE.pdf 如果基于android开发,需要熟悉一下文档: Android_Auto_Quick_Start_Guide.pdf ANDROID_USERS_GUIDE.pdf …

CentOS7 部署安装ClickHouse

一、什么是ClickHouse ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用C语言编写&#xff0c;主要用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用SQL查询实时生成分析数据报告。 OLAP场景需要…

Laravel - excel 导入数据

在Laravel中&#xff0c;可以使用maatwebsite/excel这个库来处理Excel文件的导入。 1.用命令行窗口打开项目根目录&#xff0c;使用 Composer 安装 maatwebsite/excel composer require maatwebsite/excel --ignore-platform-reqs 在你的config/app.php文件中注册服务提供者&…

Java八股文系列之六(Spring)

前沿 spring是java开发日常使用最多的框架&#xff0c;理解并应用好spring是基础核心能力。第一版略显粗糙&#xff0c;持续更新中。 1.什么是Spring循环依赖。 Spring循环依赖指的是两个或多个Bean之间相互依赖&#xff0c;形成一个环状依赖的情况。简单来说&#xff0c;就…

何在 Vue3 中使用 Cytoscape 创建交互式网络图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 Vue.js 中加载 Cytoscape.js 的技术实现 应用场景 Cytoscape.js 是一个用于创建交互式网络的可视化库。在生物信息学、社会网络分析和药物发现等领域中得到了广泛应用。 基本功能 本代码片段演示了如何在 V…

二叉树的这五种遍历方法你们都会了吗?

说在前面 &#x1f388;二叉树大家应该都很熟了吧&#xff0c;那二叉树的这五种遍历方式你们都会了吗&#xff1f; 以这一二叉树为例子&#xff0c;我们来看看不同遍历方式返回的结果都是怎样的。 前序遍历 前序遍历的顺序是&#xff1a;首先访问根节点&#xff0c;然后递归地…

linux驱动资源没有及时释放排查

linux驱动资源没有及时释放排查 之前项目过程有遇到一个问题&#xff0c;明明应用已经close fd了&#xff0c;但是再次open设备的时候会出现“device is busy”的情况。刚开始出现这个问题的时候&#xff0c;还以为是应用没有及时的close fd导致的异常&#xff0c;同时排查了内…

Java的JDBC与Druid数据连接池笔记

第一章 JDBC 1.1 JDBC简介 1.1.1 JDBC概念 JDBC就是使用Java语言操作关系型数据库的一套API 全称(Java DataBase Connectivity)Java数据库连接 1.1.2 JDBC本质 官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口 各个数据库厂商去实现这套接口,提供数据库…

使用 jQuery 选择器获取页面元素,然后利用 jQuery 对象的 css() 方法设置其 display 样式属性,从而实现显示和隐藏效果。

在页面中显示电影排行榜 当单击“&#xff08;收起&#xff09;”链接时&#xff0c;排行榜中后三项的电影名称隐藏而且链接的文本更改为“&#xff08;展开&#xff09; ” 当单击“&#xff08;展开&#xff09;”的链接时&#xff0c;后三项的电影名称重新显示且链接的文本…

视频剪辑技巧大揭秘:轻松掌握为视频添加梦幻光晕效果的绝妙方法!

在这个视觉盛宴的时代&#xff0c;每一个画面都渴望被赋予独特的魅力与魔法。今天&#xff0c;我要为你揭秘一个神秘的视频剪辑技巧——给视频添加光晕效果&#xff0c;让你的作品瞬间脱颖而出&#xff0c;成为朋友圈的焦点 首先&#xff0c;你可以打开原视频进行查看。此时&am…

QT自定义标题栏窗口其一:实现拖动及可拉伸效果

1、效果 2、核心代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(paren

【字节序】

1. 字节序&#xff08;Endianness&#xff09;问题 不同计算机体系结构可能采用不同的字节序来存储多字节数据。字节序有两种主要形式&#xff1a; 大端序&#xff08;Big-endian&#xff09;&#xff1a;高位字节存储在低地址。 小端序&#xff08;Little-endian&#xff09…

高速公路声光预警定向广播助力安全出行

近年来&#xff0c;高速重大交通事故屡见不鲜&#xff0c;安全管控一直是高速运营的重中之重。如何利用现代化技术和信息化手段&#xff0c;创新、智能、高效的压降交通事故的发生概率&#xff0c;优化交通安全管控质量&#xff0c;是近年来交管部门的主要工作&#xff0c;也是…

unity UGUI画线(Image方式)

/// <summary>/// 画线/// 注意&#xff1a;startPoint和endPoint&#xff0c;须和lineTransform在同一路径层级下的位置关系&#xff01;&#xff01;&#xff01;/// </summary>/// <param name"self"></param>/// <param name"li…

Asp.net core Authoriation Middleware实现权限控制的例子

ASP.NET Core Authorization Middleware 是 ASP.NET Core 框架中用于处理授权的中间件组件。它允许开发者在应用程序中实现细粒度的访问控制&#xff0c;确保只有合适的用户才能访问特定的资源或执行特定的操作。 核心概念 策略&#xff08;Policies&#xff09;&#xff1a;策…