Loading...
BoniMislyashki avatar BoniMislyashki 36 Точки

[Homework] Java Basics - Масиви, списъци, стрингове, речници, множества - Май 2014

Ето примерни решения на първите 10 задачи от темата: "Масиви, списъци, стрингове, речници, множества":

1. Sort Array of Numbers

2. Sequences of Equal Strings

3. Largest Sequence of Equal Strings

4. Longest Increasing Sequence

5. Count All Words

6. Count Specified Word

7. Count Substring Occurrences

8. Extract Emails

9. Combine Lists of Letters

10. Extract All Unique Words

11. Most Frequent Word

12. Cards Frequencies

13. ** Web Crawler

 

Полезни линкове за 8ма задача: тук и тук. Особено мързелив начин за решение: тук.

Тагове:
17
Java Advanced 05/09/2014 00:51:22
VenIT avatar VenIT 63 Точки

Не е това идеята на задачата. Търси се максималната последователност(площадка от елементи ),а не максималния брой на даден елемент в масива(input-a). Ако са разбъркани вече няма да са последователност от дадени елементи!

0
Vasilsk avatar Vasilsk 109 Точки

Ето едно много просто решение със StringBuilder на задача 9 от мен.

0
Vasilsk avatar Vasilsk 109 Точки

Упс, не съм прочел условието до край явно... Аз се чудех защо всички си усложняват живота с ArrayList<Character> laughing

0
Valleri avatar Valleri 304 Точки
Към автора на темата:

Здравей :) Погледнах решенията ти за помощ и забелязах че на 4-та задача принтираш първия елемент по default, което не е коректно спрямо условието. Предполагам че ако принтираме i-1 и в "else" добавим допълнителен принт ще стане.

0
VenIT avatar VenIT 63 Точки

Защо смяташ,че не е коректно спрямо условието. Иска се да се принтират редиците според тяхното срещане в input-a.
Принтирам винаги първият елемент,понеже той така или иначе трябва да се принтира,а след това се следи за нарастваща редица.

0
Dekameron avatar Dekameron 481 Точки

Hi people!

Ето ги и моите решения. Не успях да се спрява със всички сам, затова за 2-3 задачи погледнах решенията на колегите, тук в темата.

1. Sort Array of Numbers

2. Sequences of Equal Strings

3. Largest Sequence of Equal Strings

4. Longest Increasing Sequence

5. Count All Words

6. Count Specified Word

7. Count Substring Occurrences

8. Extract Emails

9. Combine Lists of Letters

10. Extract All Unique Words

11. Most Frequent Word

12. Cards Frequencies

9
Masovski avatar Masovski 211 Точки

Здравейте, дълго бях неактивен във форума, но ето че отново пиша. Ето и моите решения. smile 

1. Sort Array of Numbers

2. Sequences of Equal Strings

3. Largest Sequence of Equal Strings

4. Longest Increasing Sequence

5. Count All Words

6. Count Specified Word

7. Count Substring Occurrences

8. Extract Emails

9. Combine Lists of Letters

10. Extract All Unique Words

11. Most Frequent Word

12. Cards Frequencies

 

4
HPetrov avatar HPetrov 822 Точки

Някои подкара ли "паячето" на 13-та задача вече? Аз го ръчкам с crawler4j бибиотеката и за момента успява да измъкне URL-тата само от abv.bg :D

0
XmUrF avatar XmUrF 363 Точки

А някой успя ли да подкара 8-ма задача така, че да изкарва коректно примерите? Питам, защото така и не успях да видя решение, което да не изкара някакъв вариант на последния имейл –- steve.parker@softuni.de, пък и не видях да е коментирано. Примерът ли е грешен, аз ли не мога да измисля вариант на regex или нещо друго ми е убягнало... не знам.

0
Masovski avatar Masovski 211 Точки

Здравей, ето как аз съм решил 8-ма, така че да показва всички примери коректно: http://pastebin.com/xMhfud9d.

Разяснение на regex-a:

В първата част се поставя условието, че първият знак е задължително латинска буква или цифра -->[0-9a-zA-Z]


В тази част се поставя условието, че в средата на <user> трябва да има тези символи, един или повече пъти -->[-0-9a-zA-Z.+_]+


В следващата част се задава на <user>, че трябва да завършва с един или повече от тези символи --> [0-9a-zA-Z]+


В четвъртата част се задава разделителя '@' и първата част на <host> с позволени следните символи --> @[0-9a-zA-Z]+


В последната част се указва, че трябва да има разделител '.' (точка), а след него от 2 до 7 символа да се изпише
Top-Level-Domain (.com, .bg, etc.) --> \\.[a-zA-Z]{2,7}

А за тези, които се чудят, защо в средата на <user> може да има '+', ето този линк ще им е полезен - Plus Sign in email addresses

Надявам се да съм обяснил разбираемо. smile

1
XmUrF avatar XmUrF 363 Точки

Така, както ти си го направил, последният пример изкарва steve.parker@softuni.de, а там на аутпут няма нищо зададено, демек не би следвало да изкарва въобще имейл.. Аз имам същият проблем, и освен да вмъкна някакъв if(като дори и с if не знам как точно да процедирам, че с тия matcheri тегаво), за решение с regex не се сещам.

0
HPetrov avatar HPetrov 822 Точки

Аз си реших задачата на 5 реда с ето този "велик" regex "([_A-Za-z0-9-]+)(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})"

Просто използвам Pattern и Matcher. После в един цикъл въртъ докато има matches и принтирам. Ако няма -> няма да принтира :)

Edit: Признавам си, че доста се поизпотих докато го намеря но за щастие работи. Аз лично мисля да си го запазя някаде за бъдещо използване, че Regex не ми е много силна страна да мисля такива pattern-и като този дето съм посочил.

0
lostm1nd avatar lostm1nd 121 Точки

Ето моят опит за направата на този WebCrawler.

Функционалността му в момента май е нулева. Само си ходи, където си иска. Също така, когато стигне до pdf забива и трябва да се оправи по някакъв начин. Оставил съм файла, в който записва всички линкове, които е посетил, за да се ориентирате. Пуснал съм го от сайта на СофтУни.

0
HPetrov avatar HPetrov 822 Точки

Съдейки по съдържанието на файла изглежда, че работи. Така ти се струва, че ходи където си иска защото ти му задал 3 нива на дълбочина. Демек например влиза на 1во ниво в канала в Youtube на SoftUni и от там почва да рови из клиповете и всякакви линкове дето намери по тях съответно на 2-ро и 3-то ниво. 3 Нива са малко доста, пробвай с 1 или 2. За pdf файловете мисля, че трябва да му направиш ще една проверка за това какви файлове обхожда.

Последен върпос. На всякаде ли работи където го пуснеш? Моя timeout-ва например в блогове или някой други външни сайтове.

0
lostm1nd avatar lostm1nd 121 Точки

Ами май веднъж ми даде time out, да. Също така примерно на askamanager.com и tutsplus.com ми дава - HTTP error fetching URL. Status=403. 

0
scinetic avatar scinetic 40 Точки

Здравейте, правилно ли разбирам, че на 9-та задача, ако въведа:

s o f t u n i e m n о
e m n o g o q k

трябва да ми изкара: s o f t u n i e m n o g o q k

Ако правилно съм разбрал, то тогава вашите решение за 9-та задача не ми изкарват правилния аутпут. :\

0
HPetrov avatar HPetrov 822 Точки

s o f t u n i e m n o g q k трябва да ти изведе. Излишните са ти "e", "m", "n", "o" и остават само "g", "q" и "k"

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.