Ngày 12 tháng 5 năm 2022 • 3 phút đọc3 min read3 min read Tiếp tục thông qua các vấn đề của LeetCode. Tôi không chọn lọc bất kỳ câu hỏi nào. Tôi đang theo dõi danh sách này cho những người tò mò: //www.techinterviewhandbook.org/best-practice-questions Đưa ra một mảng số nguyên & nbsp; ____ 7, return & nbsp; ________ 8 & nbsp; nếu có bất kỳ giá trị nào xuất hiện & nbsp; ít nhất hai lần & nbsp; trong mảng và return & nbsp; ____ 9 & nbsp; nếu mỗi phần tử là khác biệt.at least twice in the array, and return JavaScript JavaScriptGiới thiệu
Lời nhắc
5 if every element is distinct.at least twice in the array, and return var containsDuplicate = function [nums] {
const set = new Set[[...nums]];
return set.size != nums.length;
};
5 if every element is distinct.var containsDuplicate = function [nums] {
const set = new Set[[...nums]];
return set.size != nums.length;
};
Ví dụ 1:
Input: nums = [1,2,3,1]
Output: true
Thoạt nhìn, vấn đề dường như khá đơn giản. Ý tưởng ở đây là lặp lại trên mảng và tìm thấy bất kỳ bản sao. Có một chút mã gian lận mà chúng ta có thể sử dụng với JavaScript trong mã này.
Giải pháp đầu tiên [gian lận]
Có một đối tượng tích hợp tiêu chuẩn cho JavaScript có tên [SET] [//developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/set]
Nhưng đối tượng này làm gì?
Đối tượng
0 là bộ sưu tập các giá trị. Bạn có thể lặp lại thông qua các yếu tố của một tập hợp theo thứ tự chèn. Một giá trị trong tập hợp chỉ có thể xảy ra một lần; Nó là duy nhất trong bộ sưu tập của ____ 10.JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
Biết được điều này, điều duy nhất chúng ta cần làm là chuyển đổi mảng của chúng ta thành
0 và so sánh độ dài của nó với độ dài mảngJavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
3 ban đầu.JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
Chuyển đổi một mảng thành
0 rất đơn giản, chỉ cần trải nó trong một mảng mới trong hàm tạo ____10. Nó có một thuộc tính để tính toán kích thước [số lượng mục]. Chúng ta chỉ cần so sánh rằng với độ dài của mảng ban đầu,JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
6.JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
JavaScript
return set.size != nums.length;
Giải pháp thứ hai
Giống như [giải pháp đầu tiên của chúng tôi] [//relatablecode.com/javascript-leetcode-two-sum] Chúng tôi có thể tạo một bảng băm của mảng của chúng tôi khi chúng tôi lặp lại và đánh giá nó tại chỗ.
JavaScript
var containsDuplicate = function [nums] { const hashTable = new Map[]; for [let i = 0; i < nums.length; i++] { if [hashTable.has[nums[i]]] return true; else hashTable.set[nums[i], true]; } return false; };
Để phá vỡ điều này một chút: Đầu tiên chúng tôi lặp lại trên mảng số. Nếu
7 đã có giá trị thì chúng ta sẽ trả vềJavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
7. Chúng tôi kiểm tra điều này với thuộc tínhJavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
9 củaJavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
7SJavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
1JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
Nếu không, chúng tôi thêm nó vào
7 và tiếp tục.JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
3JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
Giá trị này khá không liên quan vì chúng tôi không thực sự quan tâm nhiều đến nó. Có lẽ có một cấu trúc dữ liệu phù hợp hơn ở đây.
Hãy kết nối
Nhiều nội dung hơn ở mã có thể tin cậy được
Nếu bạn thích điều này, hãy kết nối với tôi trên LinkedIn hoặc Twitter
Kiểm tra lộ trình phát triển miễn phí của tôi và tin tức ngành công nghệ hàng tuần trong bản tin của tôi.
Nếu bạn thấy bất kỳ lỗi chính tả hoặc lỗi nào, bạn có thể chỉnh sửa bài viết trực tiếp trên GitHub
Hãy đứng đầu ngành công nghệ và phát triển như một nhà phát triển với một lựa chọn các bài báo và tin tức cùng với lời khuyên cá nhân, quan sát và hiểu biết. 🚀developer with a curated selection of articles and news alongside personal advice, observations, and insight. 🚀developer with a curated selection of articles and news alongside personal advice, observations, and insight. 🚀
Không có thư rác 🙅♂. Hủy đăng ký
bất cứ khi nào.
Đặt muaSự mô tả:
Đưa ra một num mảng số nguyên, trả về true nếu bất kỳ giá trị nào xuất hiện ít nhất hai lần trong mảng và trả về sai nếu mọi phần tử là khác biệt.
Dung dịch:
Độ phức tạp về thời gian: O [N] Độ phức tạp không gian: O [N] Space Complexity: O[n]
Space Complexity: O[n]
4JavaScript
var containsDuplicate = function [nums] { const set = new Set[[...nums]]; return set.size != nums.length; };
Nhập chế độ FullScreenen EXIT Mode FullScreen