Lecture 04 - Array Part 1

3 min read

Array
Collection of similar type of data. Also the size of array is fixed.
Creating an Array
syntax : datatype variable_name [size];
example : int MyArray [5];
Initialisation
int arr[5] = {1, 2, 3, 4, 5};
int arr[] = {1, 2, 3, 4};
int arr[5] = {1, 2}; // rest are automatically zero.
Error case:
int arr[3] = {1, 2, 3, 4};
int arr[] ;
Assignment
arr[2]=10;
for ( int i = 0; i < 5; i++) cin >> arr[i];
// note : make additional Article on Standard Template Library (STL)
Examples :
To find max element in an array
#include <iostream>
using namespace std;
int max(int* arr, int n){
int maxelement = arr[0];
for (int i = 1; i < n; i++){
if (arr[i] > maxelement)
maxelement = arr[i];
}
return maxelement;
}
int main(){
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) cin >> arr[i];
cout << max(arr, n);
return 0;
}
Leetcode 26 - Remove duplicate from sorted array
#include <iostream>
#include <algorithm>
using namespace std;
int removeDuplicate(int* arr, int n){
int a=arr[0];
int temp[n];
int k=1;
temp[0]=arr[0];
for(int i=1; i<n; i++){
if (arr[i]==a) continue;
else {
a=arr[i];
temp[k]=arr[i];
k++;
}
}
for(int i=0;i<k;i++){
arr[i]=temp[i];
}
return k;
}
int main(){
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) cin >> arr[i];
sort(arr,arr+n);
int k = removeDuplicate(arr, n);
for(int i=0;i<k;i++){
cout << arr[i]<<" ";
}
return 0;
}
Leetcode 66 - Plus one
#include <iostream>
#include <vector>
using namespace std;
vector<int> plusOne(vector<int>& digits) {
int n = digits.size();
for (int i = n - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
} else {
digits[i] = 0;
}
}
// If all digits were 9, we need to add a new leading 1
digits.insert(digits.begin(), 1);
return digits;
}
int main() {
vector<int> digits = {9, 9, 9}; // Example input
vector<int> result = plusOne(digits);
cout << "Result: ";
for (int d : result) {
cout << d;
}
cout << endl;
return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
void plusOne(int* arr, int n){
int num = 0;
for(int i = 0 ; i < n ; i++)
num = num*10+arr[i];
num+=1;
int temp = num;
int size =0;
while (temp != 0){
temp=temp/10;
size +=1;
}
int anotherArray[size];
for(int i = 0 ; i < size ; i++){
anotherArray[i] = num % 10;
num/=10;
}
reverse(anotherArray,anotherArray+size);
for(int i=0;i<size;i++){
cout << anotherArray[i]<<" ";
}
}
int main(){
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) cin >> arr[i];
plusOne(arr, n);
return 0;
}
Leetcode 88 - Merge Sorted Array
#include <iostream>
#include <vector>
using namespace std;
vector<int> mergeSortedArrays(vector<int>& arr1, const vector<int>& arr2, int m, int n) {
int i = m - 1;
int j = n - 1;
int k = m + n - 1;
while (i!=-1 || j!=-1){
if(arr1[i] >= arr2[j]){
arr1[k] = arr1[i];
k--;i--;
}
else{
arr1[k] = arr2[j];
k--;j--;
}
}
if(i==(-1)){
while(j!=-1){
arr1[k] = arr2[j];
k--;j--;
}
}
else if(j==(-1)){
while(i!=1){
arr1[k] = arr1[i];
k--;i--;
}
}
return arr1;
}
int main() {
vector<int> arr1 = {1, 3, 5, 0, 0, 0};
vector<int> arr2 = {2, 6, 7};
int m, n;
m = arr1.size();
n = arr2.size();
m = m - n;
vector<int> result = mergeSortedArrays(arr1, arr2, m, n);
cout << "Merged array: ";
for (int num : result) cout << num << " ";
cout << endl;
return 0;
}
0
Subscribe to my newsletter
Read articles from Akash Jaiswal directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
