GeeksForGeeks - POTD | GFG POTD Answer
Canal cerrado
1 218
Suscriptores
Sin datos24 horas
-97 días
-5730 días
Archivo de publicaciones
class Solution
{
public:
string reverseWord(string str)
{
reverse(str.begin(), str.end());
return str;
}
};
class Solution{
public:
int longestKSubstr(string s, int k) {
unordered_map mp;
int i=0,j=0,n=s.size(),m=-1,p=0;
while(j k){
mp[s[i]]--;
if(!mp[s[i]]) p--;
i++;
}
//if(p == k) m=max(m,j-i);
if(!mp[s[j]]) p++;
mp[s[j]]++;j++;
if(p == k) m=max(m,j-i);
}
return m;
}
};
class Solution{
public:
int isPalindrome(string S)
{
int i=0,j=S.size()-1;
while(i++=j;
}
};
24th August : C++ Solution ☝🏼
Chandrayaan 3 🇮🇳 -
https://youtube.com/shorts/jzL0z98DPNc?feature=share
class Solution{
public:
/*You are required to complete below function */
string multiplyStrings(string s1, string s2) {
bool isNegative = false;
if (s1[0] == '-' && s2[0] != '-') {
isNegative = true;
s1 = s1.substr(1);
} else if (s1[0] != '-' && s2[0] == '-') {
isNegative = true;
s2 = s2.substr(1);
} else if (s1[0] == '-' && s2[0] == '-') {
s1 = s1.substr(1);
s2 = s2.substr(1);
}
if (s1 == "0" || s2 == "0")
return "0";
vector res(s1.size() + s2.size(), 0);
for (int i = s1.size() - 1; i >= 0; i--) {
for (int j = s2.size() - 1; j >= 0; j--) {
res[i + j + 1] += (s1[i] - '0') * (s2[j] - '0');
res[i + j] += res[i + j + 1] / 10;
res[i + j + 1] %= 10;
}
}
int i = 0;
string ans = "";
while (i < res.size() && res[i] == 0)
i++;
while (i < res.size())
ans += to_string(res[i++]);
return isNegative ? "-" + ans : ans;
}
};
class Solution {
public:
vector>searchWord(vector>grid, string word){
int n = grid.size(), m = grid[0].size(), l = word.size();
vector dx = {-1, 0, 1, 0, -1, 1, 1, -1}, dy = {0, 1, 0, -1, -1, 1, -1, 1};
set> st;
for(int i=0; i= 0 && x < n && y >= 0 && y < m && word[p] == grid[x][y]) {
x += dx[k];
y += dy[k];
p++;
}
if(p == l) {
st.insert({i, j});
}
}
}
}
vector> ans(st.begin(), st.end());
return ans;
}
};
class Solution
{
public:
//Function to find minimum number of operations that are required
//to make the matrix beautiful.
int findMinOpeartion(vector > matrix, int n)
{
int sum = -1;
for(int i = 0; i< n; i++){
int row_sum = 0;
for(int j = 0; j< n; j++)
row_sum += matrix[i][j];
sum = max(sum, row_sum);
}
for(int i = 0; i< n; i++){
int col_sum = 0;
for(int j = 0; j< n; j++)
col_sum += matrix[j][i];
sum = max(sum, col_sum);
}
int res = 0;
for(int i = 0; i< n; i++){
int row_sum = 0;
for(int j = 0; j< n; j++)
row_sum += matrix[i][j];
res += (sum - row_sum);
}
return res;
}
};
class Solution {
public:
int Count(vector >& matrix) {
int n=matrix.size();
int m=matrix[0].size();
int res=0;
int d[8][2]={{1,0},{0,1},{-1,0},{0,-1},{-1,-1},{-1,1},{1,-1},{1,1}};
for(int i=0;i=0&&y>=0&&x
class Solution{
public:
/* if x is present in arr[] then returns the count
of occurrences of x, otherwise returns 0. */
int count(int arr[], int n, int x) {
int low = 0;
int high = n-1;
int start = -1;
while(low<=high){
int mid = (low+high)/2;
if(arr[mid]==x){
if((mid>0 && arr[mid-1]!=x)|| mid==0){
start=mid;
break;
}
else{
high = mid-1;
}
}
else if(arr[mid]>x)
high = mid-1;
else
low = mid+1;
}
if(start == -1)
return 0;
int end = start;
low = start;
high = n-1;
while(low<=high){
int mid = (low+high)/2;
if(arr[mid]==x){
if((mid<n-1 && arr[mid+1]!=x)|| mid==n-1){
end=mid;
break;
}
else{
low = mid+1;
}
}
else if(arr[mid]>x)
high = mid-1;
else
low = mid+1;
}
return(1+end-start);
}
};
class Solution
{
public:
vector subarraySum(vectorarr, int n, long long s)
{
long long sum = 0;
for(int i = 0, j = 0; i < n && s != 0; i++){
sum += arr[i];
while(sum > s)
sum -= arr[j++];
if(sum == s)
return {j + 1, i + 1};
}
return {-1};
}
};
class Solution{
//Function to find the leaders in the array.
public:
vector<int> leaders(int a[], int n){
stack <int> st;
int leader = INT_MIN;
for(int i = n-1 ; i>= 0 ; i--){
if(leader <= a[i]){
st.push(a[i]);
leader = a[i];
}
}
vector<int> ans;
while(!st.empty()){
ans.push_back(st.top());
st.pop();
}
return ans;
}
};
