একটি সোর্টেড অ্যারে দেওয়া থাকে। ডুপ্লিকেট এলিমেন্ট রিমুভ করে ইউনিক এলিমেন্টের লেন্থ রিটার্ন করতে হবে। O(1) এক্সট্রা স্পেসে ইন-প্লেস করতে হবে।
সমাধানের পদ্ধতি
- যদি লিস্ট খালি হয়, ০ রিটার্ন করুন।
length = 1,previous = nums[0],index = 1।for i in range(1, len(nums)):- যদি
nums[i] != previous:length++,previous = nums[i],nums[index] = nums[i],index++।
- যদি
lengthরিটার্ন করুন।
উদাহরণ কোড
class Solution(object):
def removeDuplicates(self, nums):
if len(nums) == 0:
return 0
length = 1
previous = nums[0]
index = 1
for i in range(1, len(nums)):
if nums[i] != previous:
length += 1
previous = nums[i]
nums[index] = nums[i]
index += 1
return length
input_list = [1,1,2,2,2,3,3,3,3,4,5,5,5,6]
ob1 = Solution()
print(ob1.removeDuplicates(input_list))
ইনপুট
[1,1,2,2,2,3,3,3,3,4,5,5,5,6]
আউটপুট
6