Leetcode chứa python trùng lặp

bạn đọc chú ý. Không ngừng học hỏi ngay bây giờ. Nắm bắt tất cả các khái niệm DSA quan trọng với Khóa học tự điều chỉnh DSA với mức giá thân thiện với sinh viên và trở nên sẵn sàng trong ngành. Để hoàn thiện quá trình chuẩn bị của bạn từ việc học một ngôn ngữ đến DS Algo và nhiều hơn thế nữa, vui lòng tham khảo Khóa học chuẩn bị phỏng vấn hoàn chỉnh

Trong trường hợp bạn muốn tham gia các lớp học trực tiếp với các chuyên gia, vui lòng tham khảo Lớp học trực tiếp DSA dành cho người đi làm chuyên nghiệp và Trực tiếp lập trình cạnh tranh dành cho sinh viên

Triển khai.
Các chức năng khác ngoài removeDuplicates() chỉ để tạo danh sách liên kết và kiểm tra removeDuplicates().



C++




/* Chương trình C++ để loại bỏ các bản sao khỏi danh sách liên kết được sắp xếp */

#include

sử dụng không gian tên std;

/* Nút danh sách liên kết */

nút lớp

{

công cộng

dữ liệu int;

Nút* tiếp theo;

};

/* Hàm loại bỏ các giá trị trùng lặp khỏi danh sách đã sắp xếp */

void removeDuplicates(Node* head)

{

/* Con trỏ duyệt danh sách liên kết */

Nút * hiện tại = đầu;

/* Con trỏ lưu con trỏ tiếp theo của nút cần xóa*/

Nút* next_next;

/* không làm gì nếu danh sách rỗng */

nếu (hiện tại == NULL)

trở về;

/* Duyệt qua danh sách cho đến nút cuối cùng */

trong khi (hiện tại-> tiếp theo. = KHÔNG)

{

/* So sánh nút hiện tại với nút tiếp theo */

nếu (hiện tại-> dữ liệu == hiện tại-> tiếp theo-> dữ liệu)

{

/* Trình tự các bước rất quan trọng*/

next_next = hiện tại->tiếp theo->tiếp theo;

miễn phí (hiện tại-> tiếp theo);

hiện tại->tiếp theo = next_next;

}

khác /* Điều này khó. chỉ tiến lên nếu không xóa */

{

hiện tại = hiện tại-> tiếp theo;

}

}

}

/* CÁC CHỨC NĂNG TIỆN ÍCH */

/* Hàm chèn một nút vào đầu danh sách liên kết */

void push(Node** head_ref, int new_data)

{

/* cấp phát nút */

Nút* new_node = Nút mới();

/* nhập dữ liệu vào */

new_node->data = new_data;

/* liên kết danh sách cũ với nút mới */

new_node->next = (*head_ref);

/* di chuyển đầu để trỏ đến nút mới */

(*head_ref) = new_node;

}

/* Hàm in các nút trong danh sách liên kết cho trước */

void printList(Nút *nút)

{

trong khi (nút. =NULL)

{

cout<<" "<data;

nút = nút-> tiếp theo;

}

}

/*Chương trình điều khiển để kiểm tra các chức năng trên*/

int chính ()

{

/* Bắt đầu với danh sách rỗng */

Đầu nút* = NULL;

/* Hãy tạo một danh sách liên kết được sắp xếp để kiểm tra các chức năng

Danh sách liên kết được tạo sẽ là 11->11->11->13->13->20 */

đẩy (& đầu, 20);

đẩy(&đầu, 13);

đẩy(&đầu, 13);

đẩy(&đầu, 11);

đẩy(&đầu, 11);

đẩy(&đầu, 11);

cout<<"Danh sach lien ket truoc khi de xac nhan ";

danh sách in (đầu);

/* Loại bỏ các bản sao khỏi danh sách liên kết */

removeDuplicates(head);

cout<<"\nDanh sách liên kết sau khi loại bỏ trùng lặp ";

danh sách in (đầu);

trả về 0;

}

// Mã này được đóng góp bởi rathbhupendra

C




/* Chương trình C để loại bỏ các bản trùng lặp khỏi danh sách liên kết được sắp xếp */

#include

#include

/* Nút danh sách liên kết */

nút cấu trúc

{

dữ liệu int;

struct Node* tiếp theo;

};

/* Hàm loại bỏ các giá trị trùng lặp khỏi danh sách đã sắp xếp */

void removeDuplicates(struct Node* head)

{

/* Con trỏ duyệt danh sách liên kết */

struct Nút * hiện tại = đầu;

/* Con trỏ lưu con trỏ tiếp theo của nút cần xóa*/

cấu trúc Nút* next_next;

/* không làm gì nếu danh sách rỗng */

nếu (hiện tại == NULL)

trở về;

/* Duyệt qua danh sách cho đến nút cuối cùng */

trong khi (hiện tại-> tiếp theo. = KHÔNG)

{

/* So sánh nút hiện tại với nút tiếp theo */

nếu (hiện tại-> dữ liệu == hiện tại-> tiếp theo-> dữ liệu)

{

/* Trình tự các bước rất quan trọng*/

next_next = hiện tại->tiếp theo->tiếp theo;

miễn phí (hiện tại-> tiếp theo);

hiện tại->tiếp theo = next_next;

}

khác /* Điều này khó. chỉ tiến lên nếu không xóa */

{

hiện tại = hiện tại-> tiếp theo;

}

}

}

/* CÁC CHỨC NĂNG TIỆN ÍCH */

/* Hàm chèn một nút vào đầu danh sách liên kết */

void push(struct Node** head_ref, int new_data)

{

/* cấp phát nút */

nút cấu trúc* new_node =

(Nút cấu trúc*) malloc(sizeof(struct Node));

/* nhập dữ liệu vào */

new_node->data = new_data;

/* liên kết danh sách cũ với nút mới */

new_node->next = (*head_ref);

/* di chuyển đầu để trỏ đến nút mới */

(*head_ref) = new_node;

}

/* Hàm in các nút trong danh sách liên kết cho trước */

void printList(struct Node *node)

{

trong khi (nút. =NULL)

{

printf("%d ", node->data);

nút = nút-> tiếp theo;

}

}

/*Chương trình điều khiển để kiểm tra các chức năng trên*/

int chính ()

{

/* Bắt đầu với danh sách rỗng */

cấu trúc Nút * đầu = NULL;

/* Hãy tạo một danh sách liên kết được sắp xếp để kiểm tra các chức năng

Danh sách liên kết được tạo sẽ là 11->11->11->13->13->20 */

đẩy (& đầu, 20);

đẩy(&đầu, 13);

đẩy(&đầu, 13);

đẩy(&đầu, 11);

đẩy(&đầu, 11);

đẩy(&đầu, 11);

printf("\n Danh sách liên kết trước khi loại bỏ trùng lặp ");

danh sách in (đầu);

/* Loại bỏ các bản sao khỏi danh sách liên kết */

removeDuplicates(head);

printf("\n Danh sách liên kết sau khi loại bỏ trùng lặp ");

danh sách in (đầu);

trả về 0;

}

Java




// Chương trình Java để loại bỏ các bản sao khỏi danh sách liên kết được sắp xếp

danh sách liên kết lớp

{

Đầu nút;

/*Nút danh sách liên kết*/

nút lớp

{

dữ liệu int;

Nút tiếp theo;

Nút (int d) {dữ liệu = d;

}

làm mất hiệu lực removeDuplicates()

{

/*Một tham chiếu khác đến đầu*/

Nút curr = đầu;

/* Duyệt qua danh sách cho đến nút cuối cùng */

trong khi (hiện tại. = không) {

Nút tạm thời = dòng chảy;

/*So sánh nút hiện tại với nút tiếp theo và

tiếp tục xóa chúng cho đến khi nó khớp với hiện tại

dữ liệu nút */

trong khi (tạm thời. =null && nhiệt độ. dữ liệu==curr. dữ liệu) {

nhiệt độ = nhiệt độ. tiếp theo;

}

/* Đặt nút hiện tại cạnh nút khác tiếp theo

phần tử được biểu thị bằng temp*/

dòng chảy. tiếp theo = tạm thời;

dòng chảy = dòng chảy. tiếp theo;

}

}

/* Các chức năng tiện ích */

/* Chèn một nút mới vào đầu danh sách. */

đẩy khoảng trống công khai (int new_data)

{

/* 1 & 2. Phân bổ nút &

Nhập dữ liệu*/

Nút new_node = Nút mới (dữ liệu mới);

/* 3. Đặt nút tiếp theo làm đầu */

new_node. tiếp = đầu;

/* 4. Di chuyển đầu để trỏ đến Node mới */

đầu = new_node;

}

/* Hàm in danh sách liên kết */

vô hiệu printList()

{

Nút temp = đầu;

trong khi (nhiệt độ. = không)

{

Hệ thống. ngoài. in (tạm thời. dữ liệu+" ");

nhiệt độ = nhiệt độ. tiếp theo;

}

Hệ thống. ngoài. println();

}

/* Chương trình điều khiển để kiểm tra các chức năng trên */

public static void main(String args[])

{

danh sách LinkedList = new LinkedList();

danh sách. đẩy(20);

danh sách. đẩy(13);

danh sách. đẩy(13);

danh sách. đẩy(11);

danh sách. đẩy(11);

danh sách. đẩy(11);

Hệ thống. ngoài. println("Liệt kê trước khi loại bỏ các bản sao");

danh sách. printList();

danh sách. Loại bỏ các bản sao();

Hệ thống. ngoài. println("Danh sach sau khi xoa cac phan tu");

danh sách. printList();

}

}

/* Mã này được đóng góp bởi Rajat Mishra */

Python3




# Chương trình Python3 để loại bỏ trùng lặp

# nút từ danh sách liên kết được sắp xếp

# Lớp nút

nút lớp

# Constructor để khởi tạo

# đối tượng nút

def __init__(bản thân, dữ liệu)

bản thân. dữ liệu = dữ liệu

bản thân. tiếp theo = Không có

danh sách liên kết lớp

# Hàm khởi tạo đầu

def __init__(bản thân)

bản thân. đầu = Không có

# Chức năng chèn một nút mới

# lúc bắt đầu

đẩy def (bản thân, new_data)

new_node = Nút (new_data)

new_node. tiếp theo = bản thân. cái đầu

bản thân. đầu = new_node

# Đưa ra một tham chiếu đến người đứng đầu của một

# danh sách và một khóa, xóa cái đầu tiên

# sự xuất hiện của khóa trong danh sách liên kết

def deleteNode(self, key)

# Lưu trữ nút đầu

nhiệt độ = bản thân. cái đầu

# Nếu chính nút đầu giữ

# khóa cần xóa

nếu (temp không phải là Không có)

nếu (nhiệt độ. dữ liệu == khóa)

bản thân. đầu = nhiệt độ. tiếp theo

tạm thời = Không có

trở về

# Tìm kiếm khóa bị xóa,

# theo dõi nút trước đó là

# chúng ta cần thay đổi 'prev. tiếp theo'

while(temp không phải là Không có)

nếu nhiệt độ. dữ liệu == khóa

phá vỡ

trước = tạm thời

nhiệt độ = nhiệt độ. tiếp theo

# nếu khóa không có trong

# danh sách liên kết

nếu (tạm thời == Không)

trở về

# Hủy liên kết nút khỏi danh sách liên kết

trước. tiếp theo = nhiệt độ. tiếp theo

tạm thời = Không có

# Chức năng tiện ích để in

# được liên kếtDanh sách liên kết

def printList(tự)

nhiệt độ = bản thân. cái đầu

trong khi (tạm thời)

in (tạm thời. dữ liệu, kết thúc = ' ')

nhiệt độ = nhiệt độ. tiếp theo

# Chức năng này loại bỏ trùng lặp

# từ một danh sách được sắp xếp

def removeDuplicates(self)

nhiệt độ = bản thân. cái đầu

nếu nhiệt độ là Không có

trở về

trong khi nhiệt độ. tiếp theo không phải là Không có

nếu nhiệt độ. dữ liệu == nhiệt độ. tiếp theo. dữ liệu

mới = tạm thời. tiếp theo. tiếp theo

nhiệt độ. tiếp theo = Không có

nhiệt độ. tiếp theo = mới

khác

nhiệt độ = nhiệt độ. tiếp theo

tự trở về. cái đầu

# Mã tài xế

danh sách = Danh sách được liên kết ()

danh sách. đẩy(20)

danh sách. đẩy(13)

danh sách. đẩy(13)

danh sách. đẩy(11)

danh sách. đẩy(11)

danh sách. đẩy(11)

print("Danh sách liên kết đã tạo. ")

danh sách. danh sách in ()

in()

print("Danh sách liên kết sau khi xóa",

"yếu tố trùng lặp. ")

danh sách. Loại bỏ các bản sao()

danh sách. danh sách in ()

# Mã này được đóng góp bởi

# Dushyant Pathak

C#




// Chương trình C# để loại bỏ các bản sao

// từ danh sách liên kết đã sắp xếp

sử dụng Hệ thống;

lớp công khai LinkedList

{

Đầu nút;

/*Nút danh sách liên kết*/

nút lớp

{

dữ liệu int công khai;

Nút công khai tiếp theo;

Nút công khai (int d)

{

dữ liệu = d;

}

}

làm mất hiệu lực removeDuplicates()

{

/*Một tham chiếu khác đến đầu*/

Nút hiện tại = đầu;

/* Con trỏ để lưu cái tiếp theo

con trỏ của nút cần xóa*/

Nút next_next;

/* không làm gì nếu danh sách rỗng */

nếu (đầu == null)

trở về;

/* Duyệt qua danh sách cho đến nút cuối cùng */

trong khi (hiện tại. tiếp theo. = không)

{

/*So sánh nút hiện tại với nút tiếp theo */

nếu (hiện tại. dữ liệu == hiện tại. tiếp theo. dữ liệu)

{

next_next = hiện tại. tiếp theo. tiếp theo;

hiện hành. tiếp theo = null;

hiện hành. tiếp theo = tiếp theo;

}

khác // tiến lên nếu không xóa

hiện tại = hiện tại. tiếp theo;

}

}

/* Các chức năng tiện ích */

/* Chèn một nút mới vào đầu danh sách. */

đẩy khoảng trống công khai (int new_data)

{

/* 1 & 2. Phân bổ nút &

Nhập dữ liệu*/

Nút new_node = Nút mới (dữ liệu mới);

/* 3. Đặt nút tiếp theo làm đầu */

new_node. tiếp = đầu;

/* 4. Di chuyển đầu để trỏ đến Node mới */

đầu = new_node;

}

/* Hàm in danh sách liên kết */

vô hiệu printList()

{

Nút temp = đầu;

trong khi (nhiệt độ. = không)

{

Bảng điều khiển. Viết (tạm thời. dữ liệu+" ");

nhiệt độ = nhiệt độ. tiếp theo;

}

Bảng điều khiển. WriteLine();

}

/* Mã trình điều khiển */

public static void Main(String []args)

{

danh sách LinkedList = new LinkedList();

danh sách. đẩy(20);

danh sách. đẩy(13);

danh sách. đẩy(13);

danh sách. đẩy(11);

danh sách. đẩy(11);

danh sách. đẩy(11);

Bảng điều khiển. WriteLine("Liệt kê trước khi loại bỏ các bản sao");

danh sách. printList();

danh sách. Loại bỏ các bản sao();

Bảng điều khiển. WriteLine("Danh sach sau khi xoa cac phan tu");

danh sách. printList();

}

}

/* Mã này được đóng góp bởi 29AjayKumar */

Javascript




// Chương trình Javascript để loại bỏ các bản sao khỏi danh sách liên kết được sắp xếp

/*Nút danh sách liên kết*/

nút lớp

{

hàm tạo (d) {

đây. dữ liệu = d;

đây. tiếp theo = null;

}

}

let head=new Node();

hàm removeDuplicates()

{

/*Một tham chiếu khác đến đầu*/

hãy để curr = đầu;

/* Duyệt qua danh sách cho đến nút cuối cùng */

trong khi (hiện tại. = không) {

để tạm thời = chữa bệnh;

/*So sánh nút hiện tại với nút tiếp theo và

tiếp tục xóa chúng cho đến khi nó khớp với hiện tại

dữ liệu nút */

trong khi (tạm thời. =null && nhiệt độ. dữ liệu==curr. dữ liệu) {

nhiệt độ = nhiệt độ. tiếp theo;

}

/* Đặt nút hiện tại cạnh nút khác tiếp theo

phần tử được biểu thị bằng temp*/

dòng chảy. tiếp theo = tạm thời;

dòng chảy = dòng chảy. tiếp theo;

}

}

/* Các chức năng tiện ích */

/* Chèn một nút mới vào đầu danh sách. */

chức năng đẩy (new_data)

{

/* 1 & 2. Phân bổ nút &

Nhập dữ liệu*/

để new_node = nút mới (new_data);

/* 3. Đặt nút tiếp theo làm đầu */

new_node. tiếp = đầu;

/* 4. Di chuyển đầu để trỏ đến Node mới */

đầu = new_node;

}

/* Hàm in danh sách liên kết */

hàm printList()

{

để temp = đầu;

trong khi (nhiệt độ. = null && tạm thời. dữ liệu)

{

tài liệu. viết (tạm thời. dữ liệu+" ");

nhiệt độ = nhiệt độ. tiếp theo;

}

document.write("
");

}

/* Chương trình điều khiển để kiểm tra các chức năng trên */

đẩy(20)

đẩy(13)

đẩy(13)

đẩy(11)

đẩy(11)

đẩy(11)

tài liệu. write("Liệt kê trước khi loại bỏ các bản sao ");

printList();

Loại bỏ các bản sao();

tài liệu. write("Danh sach sau khi xoa cac phan tu ");

printList();

// Đoạn mã này được đóng góp bởiunknown2108

Xuất danh sách liên kết trước khi loại bỏ trùng lặp 11 11 11 13 13 20 Danh sách liên kết sau khi loại bỏ trùng lặp 11 13 20