Sətirdə tərs sözlər

Çətinlik səviyyəsi Asan
Tez-tez soruşulur Akkolit Çiy kərpic Amazon Cisco Goldman Sachs MakeMyTrip MAQ microsoft Morgan Stanley Paytm PayU SAP Laboratoriyaları Wipro Zoho
SimBaxılıb 43

Problem bəyanat

“A sim”Sizə n ölçülü s sətri verildiyini bildirir. Sətri tərs qaydada çap edin ki, son söz birinci, ikinci sonuncu ikinci, və s. Bununla simvoldan ibarət bir söz əvəzinə sözləri ehtiva edən bir cümləyə istinad edirik.

Sətirdə tərs sözlərPin

misal

s = "TutorialCup makes learning easy"
easy learning makes TutorialCup

İzahat: TutorialCup, bu sözün sona qədər geri çəkilməsinə dair ilk sözdür. Son söz "asan" önə keçir və digər sözlər oxşar şəkildə tərs çevrilir. Daha rəsmi,

Verilən sətir s = olsun “TutorialCup öyrənməyi asanlaşdırır”, res = ””, begin = 0, end = n-1.

Keçməyə başlayın sim sonuna qədər -

Addım 1 - İndeks 26-da, s [i] = '', Buna görə də

başlamaq = 27, res = “asan”

Addım 2 - İndeks 17-da, s [i] = '', Buna görə də

başlayın = 18, res = “asan öyrənmə”

Addım 3 - İndeks 11-da, s [i] = '', Buna görə də

başlayın = 12, res = “asan öyrənmə edir”

Addım 4 - başlayın = 0

res = “asan öyrənmə TutorialCup edir”

s = "Contributed by Akshita Jain"
Jain Akshita by Contributed

 

Simli problemdəki əks sözlər üçün alqoritm

1. Initialize a string s of size n.
2. Create a function to reverse the words of the given string which accepts a string variable as it's a parameter.
3. After that, create two variables of integer type begin and end. Initialize the variable end as the size of the string.
4. Create an empty string variable to store the result.
5. Traverse through the string from the last character to first and check if the character at current index in the given string is a white space, update the variable begin as current index + 1 and while variable begin is not equal to the variable end, add the character at index begin + 1 of the given string in the result string variable.
6. Add a white space in the result string variable and update the variable end as the current index.
7. Update variable begin as 0.
8. Traverse again, while variable begin is not equal to variable end, add the character at index begin + 1 of the given string in the result string variable.
9. Return the resulting string variable.

Simli sadəcə bir simvol toplusudur. Beləliklə, simli bir şəkildə bir söz və ya bir cümlə olduğunu deyə bilərik. Ancaq bir simli dedikdə bir sözdür. Bu simli arasında heç bir boşluq yoxdur deməkdir. Ancaq simli istifadə edərək bir cümləyə istinad edərkən, simvollar arasında boşluq ola biləcəyi vəziyyəti də nəzərdən keçiririk. Beləliklə, bir simlə bağlı bir söz və ya cümlə ilə qarışıq düyünlənmək lazımdır.

Kodu

C ++ bir sətirdə sözləri tərs etmək üçün proqram

#include<bits/stdc++.h> 
using namespace std; 
  
string reverseStringWords(string s){ 
    int i = s.length() - 1, begin, end = i + 1; 
    string res = ""; 
      
    while(i >= 0){ 
        if(s[i] == ' '){ 
            begin = i + 1; 
            while(begin != end) 
                res += s[begin++]; 
              
            res += ' '; 
            end = i; 
        } 
        
        i--; 
    } 
    begin = 0; 
    while(begin != end) 
        res += s[begin++]; 
      
    return res; 
} 
  
int main(){ 
    string s = "TutorialCup makes learning easy"; 
    cout << reverseStringWords(s); 
      
    return 0; 
} 
easy learning makes TutorialCup

Bir sətirdə sözləri tərs çevirmək üçün Java Proqramı

import java.io.*; 
import java.util.*; 
import java.lang.*; 
  
class reverse{ 
    static String reverseStringWords(String s){ 
        int i = s.length() - 1; 
        int begin, end = i + 1; 
        String res = ""; 
          
        while(i >= 0){ 
            if(s.charAt(i) == ' '){ 
                begin = i + 1; 
                while(begin != end) 
                    res += s.charAt(begin++); 
                  
                res += ' '; 
                  
                end = i; 
            } 
            i--; 
        } 
          
        begin = 0; 
        while(begin != end) 
            res += s.charAt(begin++); 
          
        return res; 
    } 
      
    public static void main(String[] args){ 
        String s = "TutorialCup makes learning easy"; 
          
        System.out.print(reverseStringWords(s)); 
    } 
} 
easy learning makes TutorialCup

Mürəkkəblik təhlili

Zamanın mürəkkəbliyi

O (n) burada n - verilən sətirdəki simvolların ümumi sayı.

Kosmik Mürəkkəblik

O (n) çünki n elementi saxlamaq üçün yer istifadə etdik.

Translate »