Эргэгдсэн эрэмбэлэгдсэн массивын Leetcode шийдэлээс хайх

Эрэмбэлэгдсэн массивыг авч үзье, гэхдээ нэг индексийг сонгоод тэр үед массивыг эргүүлэв. Одоо массивыг эргүүлсний дараа тодорхой зорилтот элементийг олж индексийг буцааж өгөх шаардлагатай байна. Хэрэв элемент байхгүй бол буцаана -1. Асуудал нь ерөнхийдөө ...

Цааш нь

Хамгийн бага элемент яг K Times давтагдсан

Бидэнд n хэмжээтэй A [] массив өгөгдсөн болно. Бид массив дээр яг k удаа давтагдсан хамгийн жижиг элементийг олох ёстой. Жишээ оролт A [] = {1, 2, 2, 5, 5, 2, 5} K = 3 Гаралт K давтамжтай хамгийн бага элемент нь: 2 хандлага 1: харгис хүч гол санаа…

Цааш нь

Массив дахь эерэг сөрөг утгуудын хос

Массивын бодлогын эерэг сөрөг утгын хос хувьд бид тусдаа бүхэл тоонуудын A массивыг өгсөн бөгөөд массив дотор байгаа тооны эерэг ба сөрөг утгатай бүх хосыг хэвлэ. Бид хосуудын тохиолдох дарааллаар нь хэвлэх хэрэгтэй. Хос ...

Цааш нь

Delete GetRandom оруулах

Insert Delete GetRandom асуудалд бид дараахь бүх үйлдлийг дунджаар O (1) хугацаанд дэмжих өгөгдлийн бүтцийг боловсруулах хэрэгтэй. insert (val): Хэрэв байхгүй байгаа бол val-г багцад оруулна. remove (val): хэрэв байгаа бол тухайн зүйлийг val-ээс багцаас хасна. getRandom: Одоогийн багцаас санамсаргүй элементийг буцаана ...

Цааш нь

Нэмэлт зайгүйгээр дарааллыг эрэмбэлэх

Нэмэлт зайны асуудалгүйгээр дарааллыг ялгахдаа бид дараалал өгсөн бөгөөд нэмэлт дараалалгүйгээр нэмэлт дараалал ашиглан эрэмбэл. Жишээнүүд Оролтын дараалал = 10 -> 7 -> 2 -> 8 -> 6 Гаралтын дараалал = 2 -> 6 -> 7 -> 8 -> 10 Оролтын дараалал =…

Цааш нь

Элементийг эрэмбэлэгдсэн эргэсэн массиваар хайх

Эрэмбэлэгдсэн массивын асуудлыг эрэлхийлэхдээ бид эрэмбэлэгдсэн, эргүүлсэн массив болон элемент өгсөн болно, өгөгдсөн элемент массив дотор байгаа эсэхийг шалгаарай. Жишээнүүд Оролтын дугаар [] = {2, 5, 6, 0, 0, 1, 2} target = 0 Гаралтын жинхэнэ оролтын дугаар [] = {2,…

Цааш нь

Эрэмбэлэгдсэн эргэсэн массиваас хайх

Эрэмбэлэгдсэн массив дахь элементийн хайлтыг O (logn) хугацаанд хоёртын хайлт ашиглан олж болно. Энэхүү бичлэгийн зорилго нь өгөгдсөн элементийг O (logn) цаг хугацаанд эрэмбэлэгдсэн массиваас олох явдал юм. Эрэмбэлэгдсэн массивын зарим жишээг өгсөн болно. Жишээ оролт: arr [] = {7,8,9,10,1,2,3,5,6}; ...

Цааш нь

Мэдээллийн урсгалаас медианыг хайж олох

Data Stream бодлогын Find Median дээр өгөгдлийн урсгалаас бүхэл тоонуудыг уншиж байгааг өгсөн. Эхний бүхэл тооноос сүүлийн бүхэл тоо хүртэл уншсан бүх элементүүдийн медианийг ол. Жишээ оролт 1: урсгал [] = {3,10,5,20,7,6} Гаралт: 3 6.5…

Цааш нь

Өнгө ангилах

Өнгийг ангилах нь N объект агуулсан массив өгөх ёстой асуудал юм. Хайрцаг бүрийг улаан, цэнхэр, цагаан байж болох ганц өнгөөр ​​буддаг. Бидэнд аль хэдийн будсан N объект байна. Бид массивыг ижил өнгөөр ​​ангилах ёстой ...

Цааш нь

Хамгийн том тоог бүрдүүлэхийн тулд өгсөн дугааруудыг байрлуул

Бодлогын мэдэгдэл “Өгөгдсөн тоонуудыг хамгийн том тоог бүрдүүлэхийн тулд цэгцлэх” -д бид эерэг бүхэл тоонуудын массивыг өгсөн болно. Тэдгээрийг хамгийн том утга болох байдлаар байрлуул. Оролтын формат n бүхэл тоог агуулсан эхний ба цорын ганц мөр. Хоёр дахь мөрийг агуулсан ...

Цааш нь