0% found this document useful (0 votes)
13 views

Lovelocal Assignment

Uploaded by

D46-Ramya M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Lovelocal Assignment

Uploaded by

D46-Ramya M
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Easy 1

Given a string s consisting of words and spaces, return the length of the last word in the
string.
A word is a maximal
substring consisting of non-space characters only.

#include <iostream>

#include <string>

class Solution {

public:

int lengthOfLastWord(std::string s) {

int c = 0;

for (int i = s.size() - 1; i >= 0; i--) {

if (s[i] == ' ' && c == 0)

continue;

else if (s[i] != ' ')

c++;

else

break;

return c;

};

int main() {

Solution solution;

std::string inputString = " fly me to the moon ";

int result = solution.lengthOfLastWord(inputString);

std::cout << "Length of the last word: " << result << std::endl;
return 0;

Medium 2

Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times.

#include <bits/stdc++.h>

using namespace std;

vector<int> majorityElement(vector<int> v) {

int n = v.size();

vector<int> ls;

map<int, int> mpp;

int mini = int(n / 3) + 1;

for (int i = 0; i < n; i++) {

mpp[v[i]]++;

if (mpp[v[i]] == mini) {

ls.push_back(v[i]);

if (ls.size() == 2) break;

}
return ls;

int main()

vector<int> arr={3,2,3};

vector<int> ans = majorityElement(arr);

cout << "The majority elements are: ";

for (auto it : ans)

cout << it << " ";

cout << "\n";

return 0;

Hard 2

You are given a string s. You can convert s to a


palindrome by adding characters in front of it.
Return the shortest palindrome you can find by performing this transformation.

#include <iostream>

#include <vector>

#include <algorithm>

#define all(var) var.begin(), var.end()

using namespace std;

class Solution {

public:
string shortestPalindrome(string t) {

reverse(all(t));

string rev = t;

reverse(all(rev));

string s = rev + '#' + t;

int n = s.size();

vector<int> kmpp(n + 1);

kmpp[0] = -1;

int i = 0, j = -1;

while (i < n) {

while (j > 0 && s[i] != s[j]) j = kmpp[j];

j++;

i++;

kmpp[i] = j;

int req = t.size() - kmpp[n];

string add = "";

for (int i = 0; i < req; i++) {

add += t[i];

reverse(all(t));

return add + t;

};
int main() {

Solution solution;

string inputString = "aacecaaa";

string result = solution.shortestPalindrome(inputString);

cout << "Shortest Palindrome: " << result << endl;

return 0;

You might also like