Comprobar si las vocales de una string están en orden alfabético o no

Dada una string ‘str’, la tarea es encontrar si las vocales en la string están en orden alfabético o no. La string contiene solo letras en minúsculas.

Ejemplos: 

Input: str = "aabbbddeecc"
Output: Vowels are in alphabetical order
The vowel characters in the string are : a, a, e, e 
which are in sorted order.

Input: str = "aabbbdideecc"
Output: Vowels are not in alphabetical order

Acercarse: 

  • Recorre la array y encuentra los caracteres que son vocales.
  • Si alguna vocal es menor que la vocal que apareció previamente en la array, las vocales impresas no están en orden alfabético.
  • De lo contrario, las vocales impresas están en orden alfabético.

A continuación se muestra la implementación del enfoque anterior:  

C++

// C++ implementation of above approach
#include <bits/stdc++.h>
using namespace std;
 
// Function that checks whether the vowel
// characters in a string are
// in alphabetical order or not
bool areVowelsInOrder(string s)
{
    int n = s.length();
 
    // ASCII Value 64 is less than
    // all the alphabets
    // so using it as a default value
    char c = (char)64;
 
    // check if the vowels in
    // the string are sorted or not
    for (int i = 0; i < n; i++) {
        if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i'
            || s[i] == 'o' || s[i] == 'u') {
 
            // if the vowel is smaller
            // than the previous vowel
            if (s[i] < c)
                return false;
            else {
 
                // store the vowel
                c = s[i];
            }
        }
    }
    return true;
}
 
// Driver code
int main()
{
    string s = "aabbbddeecc";
 
    // check whether the vowel
    // characters in a string are
    // in alphabetical order or not
    if (areVowelsInOrder(s))
        cout << "Yes";
    else
        cout << "No";
 
    return 0;
}

Java

// Java implementation of above approach
 
import java.io.*;
 
class GFG {
 
    // Function that checks whether the vowel
    // characters in a string are
    // in alphabetical order or not
    static boolean areVowelsInOrder(String s)
    {
        int n = s.length();
 
        // ASCII Value 64 is less than
        // all the alphabets
        // so using it as a default value
        char c = (char)64;
 
        // check if the vowels in
        // the string are sorted or not
        for (int i = 0; i < n; i++) {
            if (s.charAt(i) == 'a' || s.charAt(i) == 'e'
                || s.charAt(i) == 'i' || s.charAt(i) == 'o'
                || s.charAt(i) == 'u') {
 
                // if the vowel is smaller than the previous
                // vowel
                if (s.charAt(i) < c)
                    return false;
                else {
 
                    // store the vowel
                    c = s.charAt(i);
                }
            }
        }
        return true;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        String s = "aabbbddeecc";
 
        // check whether the vowel
        // characters in a string are
        // in alphabetical order or not
        if (areVowelsInOrder(s))
            System.out.print("Yes");
        else
            System.out.print("No");
    }
}
 
// This Code is contributed
// by anuj_67....

Python 3

# Python3 implementation of
# above approach
 
# Function that checks whether the vowel
# characters in a string are
# in alphabetical order or not
 
 
def areVowelsInOrder(s):
 
    n = len(s)
 
    # ASCII Value 64 is less than
    # all the alphabets
    # so using it as a default value
    c = chr(64)
 
    # check if the vowels in
    # the string are sorted or not
    for i in range(0, n):
 
        if (s[i] == 'a' or s[i] == 'e' or s[i] ==
                'i' or s[i] == 'o' or s[i] == 'u'):
 
            # if the vowel is smaller
            # than the previous vowel
            if s[i] < c:
                return False
            else:
 
                # store the vowel
                c = s[i]
 
    return True
 
 
# Driver code
if __name__ == "__main__":
 
    s = "aabbbddeecc"
 
    # check whether the vowel
    # characters in a string are
    # in alphabetical order or not
    if areVowelsInOrder(s):
        print("Yes")
 
    else:
        print("No")
 
# This code is contributed by
# ANKITRAI1

C#

// C# implementation of above approach
using System;
 
class GFG {
 
    // Function that checks whether the vowel
    // characters in a string are
    // in alphabetical order or not
    public static bool areVowelsInOrder(string s)
    {
        int n = s.Length;
 
        // ASCII Value 64 is less than
        // all the alphabets
        // so using it as a default value
        char c = (char)64;
 
        // check if the vowels in
        // the string are sorted or not
        for (int i = 0; i < n; i++) {
            if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i'
                || s[i] == 'o' || s[i] == 'u') {
 
                // if the vowel is smaller
                // than the previous vowel
                if (s[i] < c) {
                    return false;
                }
                else {
 
                    // store the vowel
                    c = s[i];
                }
            }
        }
        return true;
    }
 
    // Driver code
    public static void Main(string[] args)
    {
        string s = "aabbbddeecc";
 
        // check whether the vowel
        // characters in a string are
        // in alphabetical order or not
        if (areVowelsInOrder(s)) {
            Console.Write("Yes");
        }
 
        else {
            Console.Write("No");
        }
    }
}
 
// This code is contributed
// by Shrikant13

PHP

<?php
// PHP implementation of above approach
 
// Function that checks whether the vowel
// characters in a string are
// in alphabetical order or not
function areVowelsInOrder($s)
{
    $n = strlen($s);
 
    // ASCII Value 64 is less than
    // all the alphabets
    // so using it as a default value
    $c = chr(64);
 
    // check if the vowels in
    // the string are sorted or not
    for ($i = 0; $i < $n; $i++)
    {
        if ($s[$i] == 'a' || $s[$i] == 'e' ||
            $s[$i] == '$i' || $s[$i] == 'o' ||
            $s[$i] == 'u')
        {
 
            // if the vowel is smaller
            // than the previous vowel
            if ($s[$i] < $c)
                return false;    
            else {
 
                // store the vowel
                $c = $s[$i];
            }
        }
    }
    return true;
}
 
// Driver code
$s = "aabbbddeecc";
 
// check whether the vowel
// characters in a string are
// in alphabetical order or not
if (areVowelsInOrder($s))
    echo "Yes";
else
    echo "No";
     
// This code is contributed by ihritik
?>

Javascript

<script>
// Javascript implementation of above approach
 
// Function that checks whether the vowel
// characters in a string are
// in alphabetical order or not
function areVowelsInOrder(s)
{
    var n = s.length;
 
    // ASCII Value 64 is less than
    // all the alphabets
    // so using it as a default value
    var c = String.fromCharCode(64);
     
    // check if the vowels in
    // the string are sorted or not
    for (var i = 0; i < n; i++) {
        if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i'
            || s[i] == 'o' || s[i] == 'u') {
 
            // if the vowel is smaller
            // than the previous vowel
            if (s[i] < c)
                return false;
            else {
 
                // store the vowel
                c = s[i];
            }
        }
    }
    return true;
}
 
var s = "aabbbddeecc";
// check whether the vowel
// characters in a string are
// in alphabetical order or not
if (areVowelsInOrder(s))
   document.write("Yes");
else
   document.write("No");
 
//This code is contributed by SoumikMondal
</script>
Producción: 

Yes

 

Complejidad temporal: O(N)
 Espacio auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *