Python-Interview-Progress-for-practice [hiện được hỗ trợ với kiểu mã]
Cập nhật
Đưa ra một loạt các số nguyên, hãy tìm cặp phần tử liền kề có sản phẩm lớn nhất và trả lại sản phẩm đó. | Adjacentelementproduct.py |
Chuyển đổi chuỗi "123" thành 123, mà không cần sử dụng | atoi.py |
Đưa ra một mảng, tìm nếu số tồn tại, phát triển triển khai recursive của tìm kiếm nhị phân. Nếu phần tử không được tìm thấy, nó sẽ trả về -1 | Binary_Search_Recursive.py |
Thuật toán dòng Bresenham [BLA] là một trong những thuật toán sớm nhất được phát triển trong đồ họa máy tính. Nó được sử dụng để vẽ các dòng | Bresenham_line_algorithm.py |
Tìm không. của các nút trong một BST nằm trong một phạm vi nhất định | bst_nodes_in_range.py |
Sắp xếp bong bóng | Bubbledort.py |
Tìm góc được thực hiện bằng tay giờ và bàn tay phút tại bất kỳ thời điểm nào. Giả sử nó là một đồng hồ tương tự | TÍNH TOÁN TÍNH TOÁN.PY |
Hai chuỗi có kích thước m và n được đưa ra, chúng ta phải tìm ra có bao nhiêu ký tự cần được xóa khỏi cả hai chuỗi để chúng trở thành đối tượng của nhau | Check_anagrams.py |
Tìm các số là bán kết, trong một phạm vi nhất định. Bán kết là một sản phẩm của hai số nguyên tố, không nhất thiết phải khác biệt. Bình phương của số nguyên tố cũng là một nửa đêm. | Check_Semiprime.py |
Đưa ra một biểu đồ, có hai phương pháp để thực hiện Traversal trên nó 1. Tìm kiếm đầu tiên [DFS] 2. Tìm kiếm đầu tiên [BFS] | dfs_bfs.py |
Đường kính của cây [đôi khi được gọi là chiều rộng] là số lượng nút trên đường dài nhất giữa hai nút đầu [nút lá ngoài cùng bên trái và nút lá ngoài cùng bên phải]. | đường kính |
Ước tính Pi bằng cách sử dụng phân phối ngẫu nhiên | Ước tính_Pi.py |
Viết một chương trình hiệu quả để in k các yếu tố lớn nhất trong một mảng. Các yếu tố trong mảng có thể theo bất kỳ thứ tự. | find_k_largest.py |
Đưa ra một danh sách được liên kết, phương thức này sẽ đưa phần tử m'th trở lại 2-> 3-> 4-> 8-> 5; m = 2 sẽ trở lại 8 vì 8 là thứ hai sau | find_m_to_last_llist.py |
Cho một mảng số, tìm tất cả các cặp số tổng hợp lên đến k | find_pairs_sum_k.py |
Cho một mảng số, tìm tất cả các cặp số có sản phẩm là k | find_products_pair_k.py |
Đưa ra một loạt các số nguyên, hãy viết một hàm trả về đúng nếu có một bộ ba [a, b, c] thỏa mãn a^2 + b^2 = c^2. | find_pythagoras_triplet.py |
Cho một cây nhị phân, hãy tìm nút lớn thứ hai trong đó | find_second_largest_in_binary_tree.py |
Viết một hàm tính toán danh sách 100 số Fibonacci đầu tiên | FIRST_N_FIBO.PY |
Cho một chuỗi đầu vào, nó cung cấp ký tự không lặp lại đầu tiên trong đó | FIRST_NON_REPEATING.PY |
Cho một chuỗi đầu vào, hãy tìm ký tự định kỳ đầu tiên trong đó. | First_Recurring_Character.py |
Cho một chuỗi, tìm ký tự không lặp lại đầu tiên trong đó. Ví dụ: nếu chuỗi đầu vào là Geeksforgeeks, thì đầu ra phải là ‘F, và nếu chuỗi đầu vào là Geeksquiz, thì đầu ra phải là’ g. | First_unique_letter.py |
Viết một hàm đưa ra một danh sách các số nguyên không âm, sắp xếp chúng sao cho chúng tạo thành số lớn nhất có thể. Ví dụ: được cho [50, 2, 1, 9], số được hình thành lớn nhất là 95021 | gen_largest_num_frm_list.py |
Cấu trúc dữ liệu cây trong Python | General_Tree_Structure.py |
Với thời gian đến và đi của tất cả các chuyến tàu đến ga xe lửa, nhiệm vụ là tìm số lượng tối thiểu các nền tảng cần thiết cho nhà ga đường sắt để không có chuyến tàu nào chờ đợi. Chúng tôi được cung cấp hai mảng đại diện cho thời gian đến và thời gian đi của các chuyến tàu dừng lại. | getMinplatforms.py |
In các ký tự trùng lặp vào một chuỗi | get_dup_chars.py |
Kiểm tra xem một mảng đã cho có mảng phụ không không | Haszerosumsubarray.py |
Cho một chuỗi, kiểm tra xem nó chỉ chứa các chữ số | has_only_digits.py |
Cho hai lat, tọa độ dài, tính khoảng cách Haversine giữa chúng | HAVERSINE.PY |
Cấu trúc dữ liệu heap | heap_structure.py |
In số từ 1 đến 100 mà không cần sử dụng bất kỳ số hoặc số nguyên nào | Hàng trăm_without_int.py |
Viết một chương trình chuyển đổi Interger thành Đại diện La Mã | interger_to_roman_num.py |
Cho hai mảng được sắp xếp các kích thước M và N trong đó tất cả các yếu tố là khác biệt. Tìm các yếu tố phổ biến giữa chúng | Giao lộ_arrays.py |
Kiểm tra xem ma trận có đối xứng hay không | ismatrixsymmetric.py |
Kiểm tra xem hai chuỗi có phải là đối thủ của nhau không | is_anagram.py |
Kiểm tra xem hai chuỗi có phải là đối thủ của nhau không | is_anagram.py |
is_anagram_using_collections.py | Viết một chương trình để kiểm tra xem một số có phải là palindrom hay không |
is_num_palindrom.py | Cho một chuỗi, trả về true nếu đó là một loại dữ liệu số, sai nếu không |
is_numeric.py | Josephus.py |
Độ phức tạp thời gian hiệu quả của phiên bản cải tiến này là O [logn]. Đối với báo cáo vấn đề, hãy tham khảo josephus.py | josephus_improved.py |
Độ phức tạp thời gian hiệu quả của phiên bản cải tiến này là O [1]. Đối với báo cáo vấn đề, hãy tham khảo josephus.py | josephus_improved_v3.py |
Thực hiện thuật toán Karatsuba | karatsuba.py |
Thực hiện các cấp độ đơn đặt hàng cho một cây nhị phân | level_order_tree.py |
Cấu trúc dữ liệu danh sách được liên kết | linked_list_data_structure.py |
Phát hiện nếu một danh sách được liên kết có một vòng lặp | loop_in_linkedlist.py |
Tìm tổ tiên chung thấp nhất giữa hai nút trong một cây tìm kiếm nhị phân. Đặt t là một cây gốc. Tổ tiên chung thấp nhất giữa hai nút N1 và N2 được định nghĩa là nút thấp nhất trong T có cả N1 và N2 là hậu duệ [nơi chúng tôi cho phép một nút là hậu duệ của chính nó]. LCA của N1 và N2 trong T là tổ tiên chung của N1 và N2 nằm cách xa gốc nhất. | lowest_common_ancestor.py |
Một phần tử đa số trong một mảng a [] có kích thước n là một phần tử xuất hiện nhiều hơn n/2 lần. Tìm phần lớn yếu tố trong mảng đã cho. | MIGOITY_ELEMENT.PY |
Tìm số tối đa trong một mảng mà không sử dụng các hàm tích hợp | Max_in_array.py |
Đưa ra một danh sách các số dương và âm, hãy tìm tổng Subarray tối đa. Ràng buộc: Giải quyết nó trong O [N] | Maximum_Subarray_Sum.py |
Thực hiện Sắp xếp hợp nhất | Hợp nhất_sort.py |
Tìm số tối thiểu và tối đa trong một mảng trong một vòng lặp duy nhất | min_max_array_oneloop.py |
Đưa ra một loạt các số nguyên, chúng ta cần di chuyển tất cả các số 0 đến cuối và duy trì thứ tự phần còn lại của các yếu tố. Không cần phải nói nó phải là một giải pháp tại chỗ | Move_Zeros_TO_END.PY |
In các nút của một cây nhị phân không có anh chị em | NO_SIBLING_TREE.PY |
Hãy để tất cả các số lẻ đến trước các số chẵn, và sắp xếp các số lẻ theo thứ tự tăng dần và số chẵn theo thứ tự giảm dần. Ví dụ: chuỗi '1982376455' trở thành '1355798642' | ODDASCEVENDESC.PY |
Tính và in Pascal Traiingle, cho không. cấp độ | pascal_triangle.py |
Sử dụng giai thừa, giảm độ phức tạp thời gian của chương trình từ O [2^n] xuống O [n] | pascals_triangle_improved.py |
In các hoán vị của một chuỗi | hoán vị.py |
In hoputatations của một chuỗi [đơn giản hóa] | hoán vị_strings.py |
Đơn đặt hàng trước của một cây tìm kiếm nhị phân theo kiểu lặp đi lặp lại | PreSter_Iterative_bst.py |
Thực hiện hàng đợi ưu tiên | ưu tiên_queue_simple.py |
Xử lý chuỗi "K: 1 | K1: 2 |
Cho một mảng mảng [] của N số nguyên, xây dựng một mảng sản phẩm prod [] [có cùng kích thước] sao cho prod [i] bằng với sản phẩm của tất cả các phần tử của ARR [] ngoại trừ ARR [i]. | Product_Puzzer.py |
Thực hiện cấu trúc dữ liệu hàng đợi | Queue_data_structure.py |
Thực hiện loại nhanh | Quick_Sort.py |
Viết một hàm hiệu quả xóa các ký tự khỏi chuỗi ASCII trong đó bất kỳ ký tự nào tồn tại trong Xóa phải được xóa khỏi STR. Ví dụ, với một loạt các nguyên âm: Hawaii so với Grozny "và loại bỏ" aeiou ", chức năng sẽ chuyển đổi Str thành | remove_chars.py |
Xóa các ký tự trùng lặp khỏi chuỗi | remove_dup_chars.py |
Xóa các bản sao bằng cách sử dụng từ điển | remove_duplicates.py |
Xóa các bản sao bằng cách sử dụng thêm không gian | remove_duplicates_v2.py |
Đảo ngược chuỗi vào vị trí | Reverse_in_place.py |
Đảo ngược chuỗi bằng cách sử dụng đệ quy | Reverse_str_recursive.py |
Cho một câu, đảo ngược mỗi từ nhưng không đảo ngược câu | Reverse_words.py |
Cho một ma trận, xoay nó 180 độ | Rotatematrix180deg.py |
Tìm trung bình từ luồng dữ liệu của số nguyên | Running_Median_Integers.py |
Cho một mảng được sắp xếp trong đó tất cả các phần tử xuất hiện hai lần [một lần sau một] và một phần tử chỉ xuất hiện một lần. Tìm các ràng buộc phần tử đó: trong o [log n] độ phức tạp. | search_unique.py |
Một triển khai đơn giản của loại lựa chọn | select_sort.py |
Một triển khai đơn giản cấu trúc dữ liệu ngăn xếp | stack_data_structure.py |
Khoảng SI của giá cổ phiếu vào một ngày nhất định, tôi được định nghĩa là số ngày liên tiếp tối đa ngay trước ngày nhất định, giá của cổ phiếu vào ngày hiện tại ít hơn hoặc bằng giá của nó vào ngày nhất định . Vấn đề: Chúng tôi có một loạt giá báo giá hàng ngày cho một cổ phiếu và chúng tôi cần tính toán khoảng giá cổ phiếu cho tất cả các ngày N | Stock_Span.py |
Viết một chương trình để tổng hợp một mảng nhất định bằng cách sử dụng đệ quy | sum_array_recursion.py |
Bạn đang nhận được hai luồng dữ liệu với ngày làm khóa, hợp nhất hai luồng và trả về trung bình của các giá trị nếu có một ngày phổ biến khác chỉ cập nhật giá trị như nhận được trong luồng, hãy tham khảo ví dụ trong mã | Thời gian.py |
Cho hai mảng được sắp xếp các kích thước M và N trong đó tất cả các yếu tố là khác biệt. Tìm sự kết hợp giữa chúng ràng buộc: trong độ phức tạp O [M+N]. | union_arrays.py |
Chương trình xác nhận tên người dùng | username_validation.py |
Đưa ra một mảng các số nguyên [+ve, -ve và 0] Tìm dấu hiệu của sản phẩm của tất cả các giá trị đã cho. | SignOfProduct.py |
Các vấn đề có sẵn: đã giải quyết - 63; Mới thêm - 57
1. Kiểu mã được thêm vào
2. 57 Các vấn đề mới được thêm vào trong Interview_Questions.md
. Giải pháp sẽ được tải lên sớm.
40+ Bộ luật phổ biến và các vấn đề phỏng vấn được giải quyết trong Python [nó đang phát triển ...]
Ý tưởng cốt lõi không phải là sử dụng các chức năng hoặc thư viện tích hợp và cung cấp cho nó một cách tiếp cận dựa trên logic hơn, để nó có thể thân thiện với ngôn ngữ và cuối cùng không phải là một kho lưu trữ khác của "các mẹo và thủ thuật Python".
Mã tốt như thế nào?
- Nó được kiểm tra tốt
- Định dạng nhất quán [sử dụng màu đen]
- Nó có thể biên dịch ở trạng thái hiện tại của nó [và không có vấn đề gì]
Có bao nhiêu hỗ trợ có sẵn?
- Câu hỏi thường gặp [sắp ra mắt]
- Tài liệu [sắp ra mắt]
Vấn đề
Hãy thoải mái gửi các vấn đề và yêu cầu nâng cao.
Đóng góp
Vui lòng tham khảo các hướng dẫn và hướng dẫn theo phong cách của từng dự án để gửi các bản vá và bổ sung. Nói chung, chúng tôi theo quy trình công việc Git "Fork-and-Pull".
- Fork the repo trên github the repo on GitHub
- Sao chép dự án vào máy của riêng bạn the project to your own machine
- Cam kết thay đổi chi nhánh của riêng bạn changes to your own branch
- Đẩy công việc của bạn trở lại ngã ba của bạn your work back up to your fork
- Gửi yêu cầu kéo để chúng tôi có thể xem xét các thay đổi của bạnPull request so that we can review your changes
Lưu ý: Hãy chắc chắn hợp nhất mới nhất từ "ngược dòng" trước khi đưa ra yêu cầu kéo!
GIẤY PHÉP
Giấy phép MIT