Assignment 5
Assignment 5
Assignment - 5
Student Name: Anmol Mittal UID: 21BCS9235
Branch: BE-CSE Section/Group:21BCS_FL_602/B
Semester: 6th Date of Performance: 03/06/2024
Subject Name: IT Skills
2. Simplify path:
class Solution {
public:
string simplifyPath(string path) {
stack<string> s;
stringstream ss(path);
string dir;
while (getline(ss, dir, '/')) {
if (dir.empty() || dir == ".") {
continue;
} else if (dir == "..") {
if (!s.empty()) {
s.pop();
}
} else {
s.push(dir);
}
}
string res;
while (!s.empty()) {
res = "/" + s.top() + res;
s.pop();
}
return res.empty() ? "/" : res;
}
};
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
3. Edit Distance:
class Solution {
public:
int minDistance(string word1, string word2) {
const int m = word1.length();//first word length
const int n = word2.length();//second word length
// dp[i][j] := min # of operations to convert word1[0..i) to word2[0..j)
vector<vector<int>> dp(m + 1, vector<int>(n + 1));
4. Baseball Game:
class Solution {
public:
int calPoints(vector<string>& opr) {
vector<int>v;
for(int i=0;i<opr.size();i++){
int sz=v.size();
if(opr[i]!="D" && opr[i]!="C" && opr[i]!="+"){
v.emplace_back(stoi(opr[i]));
}
if(opr[i]=="+"){
v.emplace_back(v[sz-1]+v[sz-2]);
}
if(opr[i]=="D"){
v.emplace_back(2*v[sz-1]);
}
if(opr[i]=="C"){
v.pop_back();
}
}
long long ans=accumulate(v.begin(),v.end(),0);
return ans;
}
};
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
class Solution {
public:
bool checkValidString(string s) {
int leftMin = 0, leftMax = 0;
for (char c : s) {
if (c == '(') {
leftMin++;
leftMax++;
} else if (c == ')') {
leftMin--;
leftMax--;
} else {
leftMin--;
leftMax++;
}
if (leftMax < 0) return false;
if (leftMin < 0) leftMin = 0;
}
return leftMin == 0;
}
};
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
head=head->next;
curr--;
return true;
}
int Front() {
if(curr==0)return -1;
return head->data;
}
int Rear() {
if(curr==0)return -1;
return last->data;
}
bool isEmpty() {
return curr==0;
}
bool isFull() {
return curr==maxi;
}
};
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
7. Necklace:
#include <bits/stdc++.h>
using namespace std;
int main() {
int N;
cin>>N;
while(N--)
{
int n, k, in;
cin>>n>>k;
queue<int> first;
queue<int> final;
for(int i=0;i<k;i++)
{
cin>>in;
first.push(in);
}
for(int i=k;i<n;i++)
{
cin>>in;
final.push(in);
}
while(!first.empty())
{
final.push(first.front());
first.pop();
}
while(!final.empty())
{
cout<<final.front()<<" ";
final.pop();
}
cout<<endl;
}
return 0;
DEPARTMENT OF
COMPUTER SCIENCE & ENGINEERING
b[a[k-1]]=j;
k--;
}
}
}
for(j=l-1;j>=0;j--){
if(b[j]!=-1)
break;
}
for(k=j-1;k>=0;k--){
if(b[k]==-1){
if(s[k]==')'&&b[k+1]!=-1){
b[k]=b[k+1];
}
}
}
scanf("%ld",&q);
for(j=0;j<q;j++){
scanf("%ld",&x);
if(b[x-1]!=-1){
printf("%ld\n",b[x-1]+1);
}
else
printf("-1\n");
}
}
return 0;
}