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;