Posts

Best Time to Buy and Sell Stock with Cooldown

 https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/discuss/75924/Most-consistent-ways-of-dealing-with-the-series-of-stock-problems   class Solution { public:     int maxProfit(vector<int>& prices) {         int n=prices.size();         if(n<=1){             return 0;         }         int A=0;         int B=-prices[0];         int C=0;         for(int i=1;i<prices.size();i++){             int temp=A;             A=max(A,C);             C=B+prices[i];   ...

Diagonal Traversal

 https://www.interviewbit.com/old/problems/diagonal-traversal/   void preorder(map<int,vector<int> > &mp, int k, TreeNode* root){         if(root == NULL){             return;         }         mp[k].push_back(root->val);         preorder(mp, k+1, root->left);         preorder(mp,k,root->right);         return;     } vector<int> Solution::solve(TreeNode* A) {     vector<int> v;         map<int, vector<int>> mp;         preorder(mp, 0, A);         for(auto a = mp.begin(); a != mp.end(); a++){        ...

Rotate Array

 https://leetcode.com/problems/rotate-array/  brute force:  for(int i=0;i<k;i++){             int last=nums[nums.size()-1];             for(int j=nums.size()-1;j>0;j--){                 nums[j]=nums[j-1];             }             nums[0]=last;         } soln 1: class Solution { public:     void rotate(vector<int>& nums, int k) {           k = k % nums.size();         reverse(nums.begin(), nums.end());         reverse(nums.begin(), nums.begin() + k);         reverse(nums...

Perfect Squares

 https://leetcode.com/problems/perfect-squares/ class Solution { public:     int numSquares(int n) {         if (n <= 0)         {             return 0;         }         // cntPerfectSquares[i] = the least number of perfect square numbers         // which sum to i. Note that cntPerfectSquares[0] is 0.         vector<int> cntPerfectSquares(n + 1, INT_MAX);         cntPerfectSquares[0] = 0;         for (int i = 1; i <= n; i++)         {             // For each i, it must be the sum of some number (i - j*j) and     ...

Justified Text

 https://www.interviewbit.com/old/problems/justified-text/ vector<string> Solution::fullJustify(vector<string> &words,  int  L) {      vector<string> res;          int  k =  0 , l =  0 ;          for  ( int  i =  0 ; i < words.size(); i += k) {              for  (k = l =  0 ; i + k < words.size() && l + words[i+k].size() <= L - k; k++) {                 l += words[i+k].size();             }      ...

Power of 2

 https://www.interviewbit.com/problems/power-of-2/ string mulby2(string s){      int  n = s.size();      int  carry =  0 ;      int  temp;      for ( int  i=n- 1 ;i>= 0 ;i--){         temp = ((s[i] -  '0' )* 2 );         s[i] =  '0' +((temp+carry)% 10 );         carry = (temp+carry)/ 10 ;     }      if (carry)     s.insert ( 0 ,  1 , carry+ '0' );      return  s; } int  Solution::power(string A) {      string s =  "1" ;      while ( true ){         s = mulby2(s);  ...

Lisa's Workbook

 https://www.hackerrank.com/challenges/lisa-workbook/problem int   workbook ( int   n ,   int   k ,   vector < int >   arr )   { int   ans = 0 ; int   p = 1 ; //page for ( int   i = 0 ; i < arr . size (); i ++){      int   m = 1 ;      int   q = arr [ i ];//no of ques      for ( int   j = 1 ; j <= q ; j ++){          if ( j <= k * m ){              if ( p == j )                  ans ++;             }          else {              p ++;              if ( p == j ) ...