AMcoder - javascript, python, java, html, php, sql

Թեմայի վերաբերյալ հրապարակումներ 'algorithms'


Ինչու՞ պետք է սովորել տվյալների կառուցվածքները և ալգորիթմները՝ ավելի լավ ծրագրավորող դառնալու համար:
Սա մի հարց է, որը ես բազմիցս քննարկել եմ իմ մտքում և վստահ եմ, որ սա այն հարցն է, որը կարող է ունենալ նաև ձեզանից մի քանիսը: Փորձեմ պարզել, թե ինչու պետք է սովորեք տվյալների կառուցվածքները (DS) և ալգորիթմը: Տվյալների կառուցվածքն ու ալգորիթմե՞րը: Ի՞նչ են դրանք Տվյալների կառուցվածքները ինչպես ասում է անունը, տվյալների պահպանման կառուցվածք է: Տվյալների հիմնական տեսակներն են՝ զանգված, ցուցակ, կույտ, հերթ, քարտեզ, կույտ… և այլն: Ալգորիթմները խնդրի լուծման տարբեր եղանակներ են:..

Leetcode մրցույթ 296
Խնդիր 1 Min Max Game Ձեզ տրվում է 0 ինդեքսավորված ամբողջ թվային զանգված nums , որի երկարությունը 2 հզորություն է: Կիրառեք հետևյալ ալգորիթմը nums -ի վրա. Թող n լինի nums -ի երկարությունը: Եթե ​​ n == 1 , ապա ավարտեք գործընթացը: Հակառակ դեպքում, ստեղծեք նոր 0-ինդեքսավորված newNums n / 2 երկարությամբ ամբողջ թվային զանգված: Յուրաքանչյուր զույգ i ինդեքսի համար, որտեղ 0 <= i < n / 2 , նշանակեք newNums[i] արժեքը որպես min(nums[2 * i], nums[2..

Երկուական որոնում և սահմանափակումներ
Այս թեմայի տեսողական ըմբռնման համար դիտեք այս տեսանյութը https://youtu.be/XK3uuAB3GUg Երկուական որոնումը արագ և արդյունավետ որոնման մեթոդ է: Սա հստակ հասկանալու համար եկեք սկսենք որոնումների սկզբից: Մեզ տրվում են որոշակի տվյալներ, և մենք ցանկանում ենք դրանցում կոնկրետ տվյալներ փնտրել։ Այն, ինչ մենք անում ենք, վերցնում ենք յուրաքանչյուր տարր և ստուգում, թե արդյոք այն նույնն է, թե ոչ: Սա նշանակում է, որ եթե կա N տարր, մենք կարող ենք կատարել այս առաջադրանքը O(N) ժամանակի բարդության..

Մեծամասնության առաջնորդ Մուրի քվեարկության ալգորիթմով:
Մարտահրավերի նկարագրություն Հաշվի առնելով nums զանգվածը՝ n , վերադարձրեք մեծամասնության տարրը : Մեծամասնության տարրը այն տարրն է, որը հայտնվում է ավելի քան ⌊n / 2⌋ անգամ: Դուք կարող եք ենթադրել, որ մեծամասնության տարրը միշտ գոյություն ունի զանգվածում: Օրինակ 1 Input: nums = [3,2,3] Output: 3 Օրինակ 2 Input: nums = [2,2,1,1,1,2,2] Output: 2 Մոտեցում 1. Տեսակավորում Ինտուիցիա՝ Այս մոտեցման հիմքում ընկած ինտուիցիան այն է, որ եթե տարրը զանգվածում հայտնվում է..

JavaScript ալգորիթմներ և տվյալների կառուցվածքներ (մաս 4)
Գծային որոնում ընդդեմ Երկուական որոնում Ալգորիթմ Գծային որոնում Գծային որոնումն ամենապարզ մոտեցումն է, որն օգտագործվում է տվյալների հավաքածուում տարր որոնելու համար: Խնդիր․ Հաշվի առնելով «n» տարրերի զանգվածը և «t» թիրախային տարրը, գտե՛ք «t» ինդեքսը զանգվածում վերադարձնում է -1, եթե տարրի թիրախը չի գտնվել։ օրինակ՝ [-5,2,10,4,6], t=10 պետք է վերադարձնի 2 Այս խնդիրը կարելի է լուծել այս ֆունկցիայի միջոցով. function linearSearch(array, target){ for (let i = 0; i <..

Քնի տեսակավորում. տեսակավորման համար նախատեսված ալգորիթմ
Վերջերս ես հանդիպեցի դրական թվերի տեսակավորման իսկապես տարօրինակ ալգորիթմի։ Այն կոչվում է քնի տեսակավորում: Եվ զարմանալիորեն աշխատում է: Այսպիսով, ես որոշեցի սա իրականացնել c plus plus-ում և պատրաստել ձեռնարկ: Այս ձեռնարկում մենք կիրականացնենք այս ալգորիթմը c plus plus-ում: Դա անելիս մենք կսովորենք. Ինչպես բազմաթելեր կատարել c plus plus-ում Ինչպես ստեղծել պատահական թվեր c-ում գումարած գումարած Ինչպես կազմել կոդը Linux-ում std::vectors-ի օգտագործումը Օգտագործեք std::shared_ptr և..

Ալգորիթմներ. Գտեք առաջին չկրկնվող նիշը
Որոնեք տող առաջին եզակի նիշի համար Այս հոդվածում մենք կներկայացնենք ալգորիթմի մարտահրավեր, այնուհետև երկու լուծում կտանք՝ երկրորդ տեղը զբաղեցնող և օպտիմալ ալգորիթմ: Ալգորիթմները գրված են Python-ով։ Մարտահրավեր Գտեք առաջին չկրկնվող նիշը փոքրատառերի շարքում: Չկրկնվողը սահմանվում է որպես նիշ, որը միայն մեկ անգամ է հայտնվում տողում: Եթե ​​բոլոր նիշերը կրկնվում են, վերադարձրեք ընդգծում: Ահա մի քանի նմուշ տողեր և պատասխաններ յուրաքանչյուրի համար. "aabcdb" # c..

Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..