From 2a022ba9ceee80bcc95217f77238804448e04681 Mon Sep 17 00:00:00 2001 From: Gaurisha21 <68791455+Gaurisha21@users.noreply.github.com> Date: Tue, 4 Oct 2022 13:08:44 +0530 Subject: [PATCH 1/3] Added LeetCode 23: Merge K Sorted Lists --- .../SOME LEET CODE QUESTIONS/LeetCode 23.cpp | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 CPP/LINKED LIST/SOME LEET CODE QUESTIONS/LeetCode 23.cpp diff --git a/CPP/LINKED LIST/SOME LEET CODE QUESTIONS/LeetCode 23.cpp b/CPP/LINKED LIST/SOME LEET CODE QUESTIONS/LeetCode 23.cpp new file mode 100644 index 00000000..43cdfe0f --- /dev/null +++ b/CPP/LINKED LIST/SOME LEET CODE QUESTIONS/LeetCode 23.cpp @@ -0,0 +1,45 @@ +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * ListNode *next; + * ListNode() : val(0), next(nullptr) {} + * ListNode(int x) : val(x), next(nullptr) {} + * ListNode(int x, ListNode *next) : val(x), next(next) {} + * }; + */ +class Solution { +public: + ListNode *merge(ListNode *l1, ListNode *l2) + { + if(l1==NULL || l2==NULL) return l1==NULL ? l2 : l1; + ListNode *p=new ListNode(-1), *d=p, *c1=l1, *c2=l2; + while(c1!=NULL and c2!=NULL) + { + if(c1->val<=c2->val) + { + p->next=c1; + c1=c1->next; + } + else + { + p->next=c2; + c2=c2->next; + } + p=p->next; + } + p->next = c1!=NULL ? c1 : c2; + return d->next; + } + ListNode *mergeK(vector lists, int s, int e) + { + if(s==e) return lists[s]; + int m=s+((e-s)/2); + return merge(mergeK(lists,s,m),mergeK(lists,m+1,e)); + } + ListNode* mergeKLists(vector& lists) { + if(lists.size()==0) return NULL; + int n=lists.size(); + return mergeK(lists,0,n-1); + } +}; \ No newline at end of file From b343f2a1c2040a7d318642d55f767d7e0c5216a4 Mon Sep 17 00:00:00 2001 From: Gaurisha21 <68791455+Gaurisha21@users.noreply.github.com> Date: Tue, 4 Oct 2022 14:16:23 +0530 Subject: [PATCH 2/3] Added LeetDoe 46: Permutations --- .../SOME LEET CODE QUESTIONS/LeetCode 46.cpp | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 CPP/LINKED LIST/SOME LEET CODE QUESTIONS/LeetCode 46.cpp diff --git a/CPP/LINKED LIST/SOME LEET CODE QUESTIONS/LeetCode 46.cpp b/CPP/LINKED LIST/SOME LEET CODE QUESTIONS/LeetCode 46.cpp new file mode 100644 index 00000000..e4994289 --- /dev/null +++ b/CPP/LINKED LIST/SOME LEET CODE QUESTIONS/LeetCode 46.cpp @@ -0,0 +1,31 @@ +class Solution { +public: + int perm(vector nums, vector> &ans, vector &smallAns) + { + if(smallAns.size()==nums.size()) + { + ans.push_back(smallAns); + return 1; + } + int count=0; + for(int i=0; i tem = smallAns; + tem.push_back(temp); + count+=perm(nums,ans,tem); + nums[i]=temp; + } + } + return count; + } + vector> permute(vector& nums) { + vector> ans; + vector smallAns; + int s=perm(nums,ans,smallAns); + return ans; + } +}; \ No newline at end of file From 33d2869042004c6aa9efbd37c246a2fb1c59ad46 Mon Sep 17 00:00:00 2001 From: Gaurisha21 <68791455+Gaurisha21@users.noreply.github.com> Date: Tue, 4 Oct 2022 14:45:39 +0530 Subject: [PATCH 3/3] Added LeetCode 46: Permutation --- CPP/recursion/LeetCode 46. Permutations.cpp | 31 +++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 CPP/recursion/LeetCode 46. Permutations.cpp diff --git a/CPP/recursion/LeetCode 46. Permutations.cpp b/CPP/recursion/LeetCode 46. Permutations.cpp new file mode 100644 index 00000000..e4994289 --- /dev/null +++ b/CPP/recursion/LeetCode 46. Permutations.cpp @@ -0,0 +1,31 @@ +class Solution { +public: + int perm(vector nums, vector> &ans, vector &smallAns) + { + if(smallAns.size()==nums.size()) + { + ans.push_back(smallAns); + return 1; + } + int count=0; + for(int i=0; i tem = smallAns; + tem.push_back(temp); + count+=perm(nums,ans,tem); + nums[i]=temp; + } + } + return count; + } + vector> permute(vector& nums) { + vector> ans; + vector smallAns; + int s=perm(nums,ans,smallAns); + return ans; + } +}; \ No newline at end of file