0% found this document useful (0 votes)
17 views

prepinsta codes

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

prepinsta codes

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

// contains duplicate

Brute Force
#include <iostream>
using namespace std;
bool contains_dup(int arr[],int n){
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(arr[i]==arr[j]){
return true;
}
}
}
return false;
}
int main(){
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
bool result = contains_dup(arr,n);
if(result){
cout<<"contains duplicate"<<endl;
}else{
cout<<"donot contains duplicates"<<endl;
}
return 0;
}

Using Hashset
#include <iostream>
#include <vector>
#include <unordered_set>
using namespace std;

bool hasDuplicate(vector<int>& nums) {


unordered_set<int> seen;
for (int i = 0; i < nums.size(); i++) {
if (seen.find(nums[i]) != seen.end()) {
return true;
}
seen.insert(nums[i]);
}
return false;
}

bool hasDuplicate(vector<int>& nums) {


unordered_set<int> seen;
for (int num : nums) {
if (seen.count(num)) {
return true;
}
seen.insert(num);
}
return false;
}
};

int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
if (hasDuplicate(nums)) {
cout << "Array contains duplicates." << endl;
} else {
cout << "Array does not contain duplicates." << endl;
}
return 0;
}

Using Sorting
class Solution {
public:
bool hasDuplicate(vector<int>& nums) {
sort(nums.begin(),nums.end());
for(int i=0;i<nums.size();i++){
if(nums[i]==nums[i-1]){
return true;
}
}
return false;
}
};

// Valid Anagram

class Solution {
public:
bool isAnagram(string s, string t) {
if(s.length()!=t.length()){
return false;
}
sort(s.begin(),s.end());
sort(t.begin(),t.end());

for(int i=0;i<t.length();i++){
if(s[i]!=t[i]){
return false;
}
}
return true;
}
};

class Solution {
public:
bool isAnagram(string s, string t) {
if(s.length()!=t.length()){
return false;
}
unordered_map<char,int> countS;
unordered_map<char,int> countT;
for(int i=0;i<s.length();i++){
countS[s[i]]++;
countT[t[i]]++;
}
if(countS==countT){
return true;
}else{
return false;
}
}
};

// array concatenation

class Solution {
public:
vector<int> getConcatenation(vector<int> arr) {
int n = arr.size();
vector<int>ans(2*n);
for(int i =0;i<n;i++){
ans[i]=arr[i];
ans[n+i]=arr[i];
}
return ans;
}
};

Two Sum

class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
for(int i=0;i<nums.size();i++){
for(int j =i+1;j<nums.size();j++){
if(nums[i]+nums[j]==target){
return {i,j};
}
}
}
return{};
}
};

// replace every element in that array with the greatest element among the elements to
its right, and replace the last element with -1.

class Solution {
public:
vector<int> replaceElements(vector<int>& arr) {
int n = arr.size();
for(int i=0;i<n-1;i++){
int max_element = arr[i+1];
for(int j=i+1;j<n;j++){
max_element = max(max_element,arr[j]);
}
arr[i]= max_element;
}
arr[n-1]= -1;
return arr;
}
};
class Solution {
public:
vector<int> replaceElements(vector<int>& arr) {
int n = arr.size();
int max_element = -1;
for(int i = n-1;i>=0;i--){
int curr = arr[i];
arr[i]=max_element;
max_element = max(max_element,curr);
}
return arr;
}
};

// is subsequence

class Solution {
public:
bool isSubsequence(string s, string t) {
int i =0;
int j = 0;
while(i<s.length()&&j<t.length()){
if(s[i]==t[j]){
i++;
j++;
}else{
j++;
}
}
return i == s.length();
}
};

You might also like