Skip to main content


working link https://stackblitz.com/edit/js-wnzbgw
rotate a array (right direction) k times



//Right Rotation of a Array -----------------------using O(n) space and O(n) time complexity
var myArray=[1,2,3,4,5,6,7];

function RotationRightFirstMethod(no_of_times)
{
var newArray=[];
var t=myArray.length;
for(var i=0;i<t;i++)
{
newArray[(i+no_of_times)%t]=myArray[i];
}
return newArray;
}
console.log("result 1",RotationRightFirstMethod(4));

//lets try using some my own method ----------
var myArray2=[1,2,3,4,5,6,7];


function RotationRightSecondMethod(n)
{
var firstArray=[];
var secondArray=[];
for(var i=0;i<myArray2.length-n;i++)
{
firstArray.push(myArray2[i])
}
for(var i=myArray2.length-n;i<myArray2.length;i++)
{
secondArray.push(myArray2[i]);
}

return secondArray.concat(firstArray);
}

console.log("result 2",RotationRightSecondMethod(4));

//now try thrid method which you can find on all sites
//inplace but time complexity is O(n*n)
var myArray3=[1,2,3,4,5,6,7];
function swap()
{
//get last element
let last=myArray3[myArray3.length-1];
//now make a loop from second last element to the index 0
//fill every index+1 value with index value like this
for(var i=myArray3.length-2;i>=0;i--)
{
myArray3[i+1]=myArray3[i];
}

myArray3[0]=last;
}
function rotateArray(n)
{

for(var i=0;i<n;i++)
{
swap();
}
}
rotateArray(4);
console.log("result 3",myArray3);

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" : ...