Skip to main content

Data Structures - Arrays

1) Move all Negative numbers to the beginning of the Array
Move all the Negative elements to the beginning of the given Array. The solution is to take two pointers slowPointer, fastPointer. SlowPointer starting at position 0 and fastPointer starting at position 1. The required condition is to have all negatives at the beginning, so keep slowPointer at beginning as long as the element is positive and move it only incase the element is negative. For the fastPointer move it as long as the number is negative and stop when the number is positive and do a comparison with the slowPointer, if slowPointer is positive and fastPointer is negative swap the elements at both the positions and move both the pointers. When the Iteration is completed all the negative elements get moved to the beginning and all the positive elements to the end.

Rotate an Image represented as a 2D matrix in place To rotate an image represented as a 2D Matrix in place we first need to transpose the matrix(move row to column and column to row), after the transpose is completed then reverse the positions of elements for each row which makes the complete 2D array rotation by 90 degrees.

Comments

Popular posts from this blog

Data Structures using Java

package com.test.count; /**   *     * @author Kiran   *   */ public class LinkedList { Node headNode ; /** *   This method appends the Node at the end of the List *   * @param data */ public void appendNode( int data ) { Node currentNode = headNode ; if ( currentNode == null ) { Node newNode = new Node( data ); headNode = newNode ; return ; } while ( currentNode .getNextNode()!= null ) { currentNode = currentNode .getNextNode(); } currentNode .setNextNode( new Node( data )); } /** * This method prints all the Nodes/Values of the   * LinkedList *   */ public void printNodes() { Node currentNode = headNode ; if ( currentNode == null ) { System. out .println( " The Node is Null" ); return ; } else { System. out .print( "   " + currentNode .getData()); while ( currentNo...

Gang of Four Design Patterns

Gang of Four(GOF) Design Patterns are divided in to 3 categories. Creational Design Patterns ( 5 Patterns ) AbstractFactory Builder Method Factory Method Prototype Singleton Singleton pattern is used when there is only one instance of the object need to be created per JVM instance. This pattern is used internally by the Connection Pooling to create the objects only on demand. Structural Design Patterns ( 7 Patterns ) Adapter Bridge Pattern Composite Pattern Decorator Pattern Facade FlyWeight FlyWeight Pattern is used when there are a large number of objects to be created, and they need to be created efficiently. This pattern is used by many frame works to create the objects using configuration. Proxy Behavioral Design Patterns ( 11 Patterns ) Chain Of Responsibility Pattern Command Interpreter Iterator Mediator Memento Memento is used internally by Text Editor Applications, where ctr+Z or cmd+Z operations are used to remember the snap shot of the data. State State Design Pattern is use...