[Free] Solving Arrays &Amp; Strings Leet Code Questions
Problem solving in Array and String – Free Course
What you’ll learn
- Solving Arrays and String questions
- Using two pointer approach
- Finding missing and duplicate elements in Array / strings
- Searching an element in Array / String
Requirements
- It is good to know about Java collection framework such as List, set, Hashmap etc
Description
Array is a very basic data structure representing a group of similar elements, accessed by index. Array data structure can be effectively stored inside the computer and provides fast access to the all its elementsArrays store values of the same data type. Address of elements are stored consecutively in memory
length is fixed. inserting or deleting an element in middle is not easy
Declaration:
int[] nums = {1,2,4} //initializing with values
int[] nums = new int[10] //initializing with size. 0 will be initialized in all indexes if we declare without variables
Accessing an element:
Array index starts from 0..length-1
int[] nums = {1,2,4}
nums[0] 1
nums[1] 2
nums[2] 4
Built in methods to use in Stack
Sorting an element – Arrays.sort(nums);
Finding the size of array – array_name . length
Filling arary element with some values –
Arrays.fill(nums, -1) -> this will assign all values in the array as -1
Searching
When we need to seach a particular element in an array, we can do that in two ways such as
1. Linear search – We need to traverse the array completely and check if we find the element
2. Binary search We can do binary search only when the array is sorted. Below is the command to use binary search and find if the element is present in array or not.
Arrays.binarySearch(array,value to find) -> returns index
Iterating Arrays
Let us consider we loop the elements in an integer array, we can do it like below
1. For loop:
for (i = 0; i < nums.length; i++) {
System.out.print(nums[i]); // accessing each element of array
}
2. For each loop
for (int i : nums) {
System.out.print(i);
}
Strings
Strings are nothing but sequence of character values. They will be is written inside .
Declaration
String s=new String(Welcome);
The strings created like this are not mutable. If we want to add or delete anything from this string, we need to use StringBuilder or String Buffer class only
Built-in methods:
length of a string length()
seeing character at some position charAt()
if a string contains particular substring contains()
Converting string to char array toCharArray()
taking substrings substring()
Replacing in string replace()
Replacing first occurence replaceFirst()
joining two strings string1.concat(string2)
getting index of a character string.indexOf(character)
removes beginnind and ending space in string trim()
converting lower and capital letters inside string toUpperCase() and toLowerCase()
StringBuilder:
StringBuilder is mutable.
Declaration:
StringBuilder string = new StringBuilder(Welcome);
Built in methods used in String Builder:
All string built in methods can be used here as well
string.append(strings) to append to a string
string.insert(startIndex,string) to insert a string from particular index
string.delete(startIndex, endIndex) deleted string from the start to given end index
string.reverse() to reverse the array
Iterating String:
For each loop:
for (Char c : string.toCharArray()){
{
System.out.println(c);
}
For loop:
for(int i = 0; i < string.length();i++)
{
System.out.println(string.charAt(i));
}
Author(s): Monish Njs