《零基础Go语言算法实战》 【题目 1-15】字符串的比较

news/2025/1/10 17:05:55/

《零基础Go语言算法实战》

 【题目 1-15】字符串的比较

请用 Go 语言实现一个算法,在不使用额外存储结构的条件下判断一个字符串的所有字

符是否全都相同,字符串的长度不能超过 3000。

【解答】

① 思路。

本题需要实现一个算法来判断字符串中的所有字符是否全都相同且不允许使用额外的存

储结构。如果允许使用额外的存储结构,则本题很好解。如果不允许,则可以使用 Go 语言

内置的方式实现。

② Go 语言实现。

通过 strings.Count() 函数判断,代码如下:

package main

import (

 "strings"

)

func isUniqueString1(s string) bool {

 if strings.Count(s, "") > 3000 {

 return false

 }

 for _, v := range s {

 if v > 127 {

 return false

 }

 if strings.Count(s, string(v)) > 1 {

 return false

 }

 }

 return true

}

通过 strings.Index() 函数和 strings.LastIndex() 函数判断索引是否存在,代码如下:

func isUniqueString2(s string) bool {

 if strings.Count(s, "") > 3000 {

 return false

 }

 for k, v := range s {

 if v > 127 {

 return false

 }

 if strings.Index(s, string(v)) != k {

 return false

 }

 }

 return true

}


http://www.ppmy.cn/news/1562024.html

相关文章

【System Verilog and UVM基础入门25】功能覆盖率的实现

tdc_coverage.sv 让代码开口说话!!! 记住,代码是最可靠的朋友,它永远不会说谎! `uvm_analysis_imp_decl(_in_monitor_export) `uvm_analysis_imp_decl(_out_monitor_export)class tdc_coverage extends uvm_component;`uvm_component_utils(tdc_coverage)tdc_config m…

ESP32 IDF VScode出现头文件“无法打开 源 文件 ”,并有红色下划线警告

问题背景: ESP32 IDF VScode出现头文件“无法打开 源 文件 ”,并有红色下划线警告: 解决办法: 在工程里面的.vscode文件夹下,检查是否存在c_cpp_properties.json文件,如果没有可以手动创建添加。如图…

升级 Spring Boot 3 配置讲解 — 新版本的秒杀系统怎么做?

学会这款 🔥全新设计的 Java 脚手架 ,从此面试不再怕! 1. Spring Boot 3 升级指南 在升级 Spring Boot 3 之前,首先需要确保你的项目已经升级到 Java 17,因为 Spring Boot 3 不再支持 Java 8 和 Java 11。接下来&…

文件读写到SQLite数据库的方法

在 SQLite 数据库中,将文件读写到数据库的常见方法主要有以下几种: 1. 将文件以 BLOB 类型存储 BLOB(Binary Large Object) 是 SQLite 中的二进制数据类型,可以直接用来存储文件内容。 步骤: 创建表 创建一…

HTML+CSS+JS制作中国传统节日主题网站(内附源码,含5个页面)

一、作品介绍 HTMLCSSJS制作一个中国传统节日主题网站,包含首页、节日介绍页、民俗文化页、节日活动页、联系我们页等5个静态页面。其中每个页面都包含一个导航栏、一个主要区域和一个底部区域。 二、页面结构 1. 顶部横幅区 包含传统中国风格的网站标题中国传统…

解决Vscode中使用netdb.h的getaddrinfo和addrinfo会报错的方法

原文地址:https://kashima19960.github.io/2024/12/03/解决Vscode中使用netdb.h的getaddrinfo和addrinfo会报错的方法/,一般有最新的修改都是在我的个人博客里面,所以在当前平台的更新会比较慢,请见谅😃 前言 博主最近…

JAVA 使用apache poi实现EXCEL文件的输出;apache poi实现标题行的第一个字符为红色;EXCEL设置某几个字符为别的颜色

设置输出文件的列宽,防止文件过于丑陋 Sheet sheet workbook.createSheet(FileConstants.ERROR_FILE_SHEET_NAME); sheet.setColumnWidth(0, 40 * 256); sheet.setColumnWidth(1, 20 * 256); sheet.setColumnWidth(2, 20 * 256); sheet.setColumnWidth(3, 20 * 25…

【合作原创】使用Termux搭建可以使用的生产力环境(九)

前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(八)-CSDN博客中我们讲到了如何安装IDEA社区版,并在Termux中安装VNC服务器,在proot-distro的Debian中启动xfce桌面,并通过这个方式解决了IDEA社区版中无…