Assignment-Array
Assignment-Array
Assignment
Submitted by
Shreela Dhar
ID: 242005312
Section: 4
Department: Computer Science and
Engineering (CSE)
Submitted To,
Name: Mohammad Akbar Bin Shah
Designation: Lecturer
Problem #1: ArithGeo (Arithmetic or Geometric Sequence
Detection):
#include <iostream>
#include <vector>
int main() {
vector<int> arr = {5, 10, 15, 20}; // Example input
cout << "Output: " << ArithGeo(arr) << endl;
return 0;
}
Sample Input & Output
Input:
5 10 15 20
Output:
Input:
2 4 8 16
Output:
Explanation
The function checks if the sequence follows an arithmetic pattern
(constant difference) or a geometric pattern (constant ratio). If
neither pattern is found, it returns -1.
int index = 0;
for (size_t i = 1; i < nums.size(); i++) {
if (nums[i] != nums[index]) {
index++;
nums[index] = nums[i];
}
}
return index + 1;
}
int main() {
vector<int> nums = {0, 0, 1, 1, 1, 2, 2, 3, 3, 4}; // Example input
int uniqueCount = removeDuplicates(nums);
cout << "Output: " << uniqueCount << ", nums = [";
for (size_t i = 0; i < nums.size(); i++) {
if (i > 0) cout << ", ";
if (nums[i] == '_') cout << "_";
else cout << nums[i];
}
cout << "]" << endl;
return 0;
}
int main() {
vector<int> digits = {0, 9, 9}; // Example input
vector<int> result = plusOne(digits);
return 0;
}
Sample Input & Output
Input:
digits = [0, 9, 9]
Output:
Explanation
The function iterates from the last digit, incrementing it. If a carry
occurs (e.g., 9+1=10), it sets that digit to 0 and propagates the carry
leftward. If all digits turn to zero, a new 1 is added at the beginning.