搜尋
首頁後端開發C++檢查字串中的所有字元是否可以透過增加或減少來使其相等

檢查字串中的所有字元是否可以透過增加或減少來使其相等

在這個問題中,我們需要檢查是否可以透過增加和減少操作來使字串的所有字元相等。我們可以根據字元的ASCII值得到每個字元的權重,並檢查總權重是否可以用來使所有字元相等。

問題陳述 – 我們給了長度為 N 的字串 str,其中包含小寫字母字元。我們需要檢查是否可以透過選擇兩個字符中的任意一個,增加一個字符,然後將另一個字符減 1 來使字串中的所有字符相等。如果可能,則列印“yes”,否則列印“no”。

範例範例

輸入– str = ‘aedb

輸出-str = ‘aedb

解釋 - ‘a’ 可以增加 2,‘e’ 可以減少 2。同時,‘b’ 可以增加 1,‘d’ 可以增加 1。因此,結果字串可以是 ‘cccc’。

輸入– str = ‘abd’

輸出-「否」

Explanation – 我們無法透過增加和減少操作來使字串的所有字元相等

輸入-‘g’

#輸出 - ‘是’

解釋 – 字串僅包含單一字符,因此所有字串字元已經相等

方法一

在這種方法中,我們將計算字串的字元總權重。字元的權重定義為‘a’= 1,‘b’= 2,‘c’= 3,…,‘z’= 26。因此,如果我們將總權重除以字串的長度,我們可以說通過增加一個字符並減少另一個字符,我們可以使字串的所有字符都相等。

演算法

  • 定義「len」變數並使用 size() 方法儲存字串的大小。

  • 定義「totalWeight」變數來儲存給定字串的所有字元的總權重

  • 使用每個字元的ASCII程式碼來取得特定字元的權重,並將其新增至「totalWeight」變數。

  • 如果「totalWeight」的值可以被「len」整除,則傳回 true。否則,返回 false。

範例

#include <iostream>
using namespace std;

// function to check if all characters of a string can be made equal by incrementing or decrementing by 1
bool canMakeEqual(string str){
   int len = str.size();
   // store sum of ASCII values of characters
   int totalWeight = 0;
   // Iterate over the string
   for (int i = 0; i < len; i++){
      // get the ASCII value of each character
      totalWeight += str[i] - 'a' + 1;
   }
   return (totalWeight % len == 0);
}
int main(){
   string str = "aedb";
   if (canMakeEqual(str))
      cout << "Yes";
   else
      cout << "No";
   return 0;
}

輸出

Yes

時間複雜度 - O(N),因為我們遍歷字串。

空間複雜度 - O(1),因為我們使用常數空間。

結論

我們學會了透過增加和減少字元的ASCII值來檢查字串的所有字元是否可以相等。我們根據「總權重」來解決這個問題。使用者也可以嘗試找到結果字串。要找到結果字串,找到與(totalWeight / len)相對應的ASCII值,並在給定的字串中加入「len」個字元。

以上是檢查字串中的所有字元是否可以透過增加或減少來使其相等的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:tutorialspoint。如有侵權,請聯絡admin@php.cn刪除
深入浅出:GO语言字符串转义与反转义详解深入浅出:GO语言字符串转义与反转义详解Apr 07, 2024 am 10:39 AM

Go语言中,字符串转义用反斜杠(\`)加特殊字符表示特殊字符,如换行符(\n)。反转义用反引号(\`)去除转义字符,恢复其原始字符,如\n表示实际的换行符。实战案例展示了转义、反转义和反转义在文件读取中的应用。

PHP在字符串处理中可能发生的错误及其修复方法PHP在字符串处理中可能发生的错误及其修复方法May 11, 2023 pm 05:21 PM

PHP是一种广泛使用的动态编程语言,它有着广泛的应用,尤其是在Web应用程序的开发中。其中字符串处理是PHP中最常用的功能之一,但很多时候开发人员在字符串处理时会遇到各种错误和问题。在本文中,我们将探讨在PHP字符串处理过程中可能会遇到的几种常见问题以及解决方法。字符编码问题在处理字符串时,一个常见的问题就是字符编码。有很多不同的字符编码,其中最常见的是UT

PHP中处理字符串转浮点数的最佳实践PHP中处理字符串转浮点数的最佳实践Mar 28, 2024 am 08:18 AM

在PHP中处理字符串转浮点数是开发过程中常见的需求,例如从数据库中读取到的金额字段是字符串类型,需要转换为浮点数进行数值计算。在这篇文章中,我们将介绍PHP中处理字符串转浮点数的最佳实践,并给出具体的代码示例。首先,我们需要明确一点,PHP中的字符串转浮点数有两种主要的方式:使用(float)类型转换或者使用(floatval)函数。下面我们将分别来介绍这两

掌握Go语言的正则表达式和字符串处理掌握Go语言的正则表达式和字符串处理Nov 30, 2023 am 09:54 AM

Go语言作为一门现代化的编程语言,提供了强大的正则表达式和字符串处理功能,使得开发者能够更高效地处理字符串数据。掌握Go语言的正则表达式和字符串处理,对于开发者来说是非常重要的。本文将详细介绍Go语言中正则表达式的基本概念和用法,以及如何使用Go语言处理字符串。一、正则表达式正则表达式是一种用于描述字符串模式的工具,能够方便地实现字符串的匹配、查找和替换等操

掌握GO语言字符串转义与反转义的奥秘掌握GO语言字符串转义与反转义的奥秘Apr 07, 2024 pm 04:33 PM

字符串转义使用反斜杠将特殊字符表示为转义序列,而反转义将转义序列还原为实际字符。Go语言支持以下转义序列:\n(换行符)、\t(制表符)、\r(回车符)、\f(换页符)、\a(报警)、\b(退格)、\v(垂直制表符),此外还有反斜杠本身、单引号和双引号。Raw字符串文字使用反引号括起来,不会转义任何字符。转义字符在HTML代码和JSON数据中很有用,用于显示或反转义特殊字符。

PHP字符串处理:去除所有空格的方法详解PHP字符串处理:去除所有空格的方法详解Mar 23, 2024 pm 06:51 PM

PHP是一种强大的编程语言,广泛应用于Web开发中。在Web开发过程中,经常会遇到需要处理字符串的情况,其中去除字符串中的空格是一种常见的需求。本文将详细介绍在PHP中去除字符串所有空格的方法,并提供具体的代码示例。一、使用str_replace函数str_replace函数是PHP中常用的字符串替换函数,可以将指定字符替换为另一个字符。通过使用该函数,可以

如何使用正则表达式在 PHP 中将字符串中的特定字符删除如何使用正则表达式在 PHP 中将字符串中的特定字符删除Jun 22, 2023 pm 03:46 PM

在PHP中,使用正则表达式可以轻松地删除字符串中的特定字符。正则表达式是一个强大的工具,它可以帮助我们根据指定的模式匹配和操作文本。在本篇文章中,我们将会介绍如何使用正则表达式将字符串中的特定字符删除,以及如何使用PHP中的preg_replace函数实现这一目标。使用正则表达式替换特定的字符正则表达式中的“.”标识任何单个字符,我们可以利用

7个php字符串处理函数有哪些7个php字符串处理函数有哪些Sep 18, 2023 pm 02:14 PM

7个php字符串处理函数有strlen()、strpos()、substr()、str_replace()、strtolower()、strtoupper()、trim()等。详细介绍:1、strlen(),用于获取字符串的长度;2、strpos(),用于查找字符串中的特定子串,返回第一次出现位置;3、substr(),用于获取字符串的子串;4、str_replace()等等。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器