查找给定字符串对的每个索引的中间字母
给定两个由小写英文字母组成的长度相同的字符串str1和str2 ,任务是找到给定字符串对的每个索引的 Mid-Alphabet。
例子:
Input: str1 = “abcd”, str2 = “cdef”
Output: bcde
Explanation:
b is mid of a and c
c is mid of b and d
d is mid of c and e
e is mid of e and f
Input: str1 = “akzbqzgw”, str2 = “efhctcsz”
Output: chqbrnmx
方法:
Mid-Alphabet 可以通过取该索引处每个字符串中字符的 ASCII 值的平均值来计算。
下面是上述方法的实现:
C++
// C++ program to find the Mid-Alphabet
// for each index of the given Pair of Strings
#include
using namespace std;
// Function to find the mid alphabets
void findMidAlphabet(string s1, string s2, int n)
{
// For every character pair
for (int i = 0; i < n; i++) {
// Get the average of the characters
int mid = (s1[i] + s2[i]) / 2;
cout << (char)mid;
}
}
// Driver code
int main()
{
string s1 = "akzbqzgw";
string s2 = "efhctcsz";
int n = s1.length();
findMidAlphabet(s1, s2, n);
return 0;
}
Java
// Java program to find the Mid-Alphabet
// for each index of the given Pair of Strings
class GFG
{
// Function to find the mid alphabets
static void findMidAlphabet(String s1,
String s2, int n)
{
// For every character pair
for (int i = 0; i < n; i++)
{
// Get the average of the characters
int mid = (s1.charAt(i) +
s2.charAt(i)) / 2;
System.out.print((char)mid);
}
}
// Driver code
public static void main(String []args)
{
String s1 = "akzbqzgw";
String s2 = "efhctcsz";
int n = s1.length();
findMidAlphabet(s1, s2, n);
}
}
// This code is contributed by Rajput-Ji
Python3
# Python3 program to find the Mid-Alphabet
# for each index of the given Pair of Strings
# Function to find the mid alphabets
def findMidAlphabet(s1, s2, n):
# For every character pair
for i in range(n):
# Get the average of the characters
mid = (ord(s1[i]) + ord(s2[i])) // 2
print(chr(mid), end = "")
# Driver code
s1 = "akzbqzgw"
s2 = "efhctcsz"
n = len(s1)
findMidAlphabet(s1, s2, n)
# This code is contributed
# by Mohit Kumar
C#
// C# program to find the Mid-Alphabet
// for each index of the given Pair of Strings
using System;
public class GFG
{
// Function to find the mid alphabets
static void findMidAlphabet(String s1,
String s2, int n)
{
// For every character pair
for (int i = 0; i < n; i++)
{
// Get the average of the characters
int mid = (s1[i] +
s2[i]) / 2;
Console.Write((char)mid);
}
}
// Driver code
public static void Main(String []args)
{
String s1 = "akzbqzgw";
String s2 = "efhctcsz";
int n = s1.Length;
findMidAlphabet(s1, s2, n);
}
}
// This code contributed by Rajput-Ji
Javascript
输出:
chqbrnmx
时间复杂度: ,其中 N 是字符串的长度。