PHP速学视频免费教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
在这个问题中,我们需要检查是否可以通过增加和减少操作使字符串的所有字符相等。我们可以根据字符的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 <h3>输出</h3> <pre class="brush:php;toolbar:false;">Yes
时间复杂度 - O(N),因为我们遍历字符串。
空间复杂度 - O(1),因为我们使用常量空间。
我们学会了通过增加和减少字符的ASCII值来检查字符串的所有字符是否可以相等。我们根据“总权重”来解决这个问题。用户也可以尝试找到结果字符串。要找到结果字符串,找到与(totalWeight / len)相对应的ASCII值,并在给定的字符串中添加“len”个字符。
已抢7215个
抢已抢94863个
抢已抢14828个
抢已抢52105个
抢已抢194768个
抢已抢87281个
抢