Skip to main content

two pointer technique which is used to solve some basic algorithms related question like 2sum, 3sum, and difference of 2 item in a vector equal to given target

the two-pointer technique is a very popular technique to solve some basic problem like

just watch this nice video for more information

https://www.youtube.com/watch?v=2wVjt3yhGwg&t=174s

https://leetcode.com/articles/two-pointer-technique/

1. Given a vector of integers and a target sum returns true if any two elements sum is equal to the target in the given vector

bool checkSum(int sum, vector<int> &myVect)

{

    sort(myVect.begin(),myVect.end());

    int i=0,j=myVect.size()-1;

    while(j>=i)

    {

        if(myVect[i]+myVect[j]==sum)

        {

            return true;

        }else if(myVect[i]+myVect[j]>sum)

        {

            j--;

        }else if(myVect[j]+myVect[i]<sum)

        {

            i++;

        }

    }

    return false;

}

2. Given vector of integers and a target difference returns true if any two elements dfference in vector is equal to the target in the given vector.


bool checkDiff(int dif,vector<int> &myVect)

{

    sort(myVect.begin(),myVect.end());

    int i=0;

    int j=1;

    int size=myVect.size()-1;

    while(i<=size && j<=size)

    {

    

        if(myVect[j]-myVect[i]==dif)

        {

            return true;

        }else if(myVect[j]-myVect[i]<dif)

        {

            j++;

        }else if(myVect[j]-myVect[i]>dif)

        {

            i++;

        }

        

    }

    return false;

}

working sample 

https://www.onlinegdb.com/edit/HJooqlZLP



 


Comments

Popular posts from this blog

Better Memory management with PixiJS or How to manage cpu and cpu memory in PixiJS.

PixiJS is my favorite framework when i am looking for a web games specially for mobile or desktop  PixiJS is fast blazing fast and you can get a decent FPS even on older device.   so here is my optimization techniques for PixiJs 1. manage your sprites in a better way use spritesheet to reduce the draw calls create big sprite sheet which contain multiple sprites can be draw in gpu with a single draw call. use TexturePacker  https://www.codeandweb.com/texturepacker  best tool when its comes to spritesheet 2. for floating point calculation round off calculation for example let  speed = 0.75 ; let  position = 100 ; console . log ( Math . round ( speed * position )) 3. don't create very big canvas when u need a big canvas size game just try to create a small canvas and translate it. 4. its very important one managing TextureCache in memory you can get all TextureCache list by using  Object.entries(PIXI.utils.TextureCache); so even you use ap...

adding particles Effect in pixijs using https://pixijs.io/pixi-particles-editor/

adding particle in pixijs is very easy using the below tool more information can be found below https://github.com/pixijs/pixi-particles https://pixijs.io/pixi-particles-editor/ required packages  /// < reference path = "node_modules/pixi-particles/ambient.d.ts" /> import 'pixi-particles' code of particle delcare a     global variable   private emitter ?: Emitter ; const img = PIXI . Texture . from ( "./assets/images/particle.png" ); this . emitter = new Emitter ( this ,[ img ],{ "alpha" : { "start" : 0.62 , "end" : 0.39 }, "scale" : { "start" : 0.1 , "end" : 0.9 , "minimumScaleMultiplier" : 1.25 }, "color" : { "start" : "#ffff8f" , "end" : ...