Loading...
aanguelov avatar aanguelov 219 Точки

[Homework] Java Basics - Java Collections - September 2015

Хайде този път аз да отпочна домашното с първите 12 задачи:

1. SortArrayOfNumbers

2. Sequences Of Equal Strings

3. LargestSequenceOfEqualStrings

4. Longest Increasing Sequence

5. Count All Words

6. Count Specified Word

7. Count Substring Occurrences - тук лесно можех да я напиша със събстринг, но нарочно я оставих така (не работят коректно примерите, когато групите се застъпват - т.е. на "аааааа" ми изкарва 3 групи, а трябва да са пет) за да може някой да обясни дали е възможно да се направи да работи по този начин. Замотах се, ама май се разбира какво искам да кажа smiley

8. Extract Emails - този регекс може да ви е познат smiley

9. Combine List Of Letters

10. Extract All Unique Words

11. Most Frequent Word

12. CardsFrequencies

Останалите по-късно...

Тагове:
6
Java Advanced 09/09/2015 15:20:59
enevlogiev avatar enevlogiev 1168 Точки

Този switch case не може ли да се съкрати до Integer.parseInt(cardFace) в default-a и четири case-a за буквите?

4
a1mbiser avatar a1mbiser 63 Точки

Поздравления за задачите колега :) ето няколко и от мен като не съм на 100% сигурен че са ок просто примерните тестове минават :)

ExtractEmails
CountSubstringOccurrences

Combine Lists of Letters

 

 

 

 

1
10/09/2015 19:59:24
milen.stefanov avatar milen.stefanov 40 Точки

Някой знае ли бърз начин за trim()-ване на символи, които са различни от whitespace?

0
11/09/2015 15:36:11
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

Edit: Някой да ми каже как да не ми се ескейпва форматирането ?

Ето линк, защото не мога да го вмъкна директно

1
11/09/2015 15:51:06
Innos avatar Innos 419 Точки

Благодаря колега, извадих полезни идеи, как да си номерирам задачите ми беше на главата отдавна. Ето и моите задачи до момента:

1.Sort Array Of Numbers

2.Sequence Of Equal Strings

3.Longest 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 List Of Letters

10.Extract All Unique Words

11.Most Frequent Word

12.Card Frequencies

13.WebCrawler - работи ама има неща за дооправяне в него

14.StuckNumbers

15.SumCards

16.SimpleExpression

17.LogsAggregator with Classes

17.LogsAggregator with Maps

5
13/09/2015 21:04:12
Simeon.Ivanov avatar Simeon.Ivanov 4 Точки

Ето и още няколко решения :)

https://github.com/Simeon1996/CollectionsBasics/tree/master/src

2
12/09/2015 12:34:43
D.Kostadinov avatar D.Kostadinov 30 Точки

Здравейте колеги, 

Аз ще се запиша със 17-та задача. Надявам се да е полезна за някого.

17. *** - Logs Aggregator

1
12/09/2015 17:43:05
milen.stefanov avatar milen.stefanov 40 Точки

Едно питане, колеги: това е вариант на Longest Increasing Sequence, в която има нещо, което ме обърква. методът private static void compareSequences(List<Integer> tempSet, List<Integer> increasingMaxLengthSet) приема два листа като параметри, сравнява ги и ако tempSet.size() > increasingMaxLengthSet.size(), тогава increasingMaxLengthSet = new ArrayList<Integer>(tempSet), което е валидно до момента, да който напуснеш compareSequences метода, тогава промените не се отразяват.

Въпросът ми е не би ли трябвало промените да се запазят и извън метода, имайки предвид, че се подават и манипулират референтни типове или аз бъркам нещо? Вариантът с return работи коректно.

ModEdit: Нарушена точка 12 от Правилата.

0
12/09/2015 19:37:28
moholovka avatar moholovka 169 Точки

Не мога да видя целият код защото си го пуснал във форума, но increasingMaxLengthSet = new ArrayList<Integer>(tempSet) това което виждам е създаване на нов лист, тоест промени по референция няма да има.

3
Innos avatar Innos 419 Точки

Нещо което трябва да имаш в предвид тук е че в променливта List<Integer> tempSet не се държи реална колекция, а се държи референция към адрес в паметта, когато се подават параметри към метод те се копират, това важи за всички видове, реално ти подаваш към метода не оригиналната променлива tempSet, а друга променлива (нека да кажем CopyOfTempSet) която е копие на tempSet-a и сочи на същото място в паметта, ако правиш операции по обекта към който сочи референцията (мутираш) реално промените ще се отразят във всички места където се реферира обекта, но ако кажеш new ти просто ще промениш референцията на CopyOfTempSet към ново място в паметта, това както може да се сетиш няма да се отрази по никакъв начин на променливата tempSet. И понеже това звучи супер объркващо да се обяснява с текст ето ти една картинка: линк

3
EBojilova avatar EBojilova 330 Точки

Ето и моето домашно. Целия вход е от файлове, тъй като ми се видя too much copy paste за толкова много задачи и подпримери :)

Повечето задачи съм ги решила с функициите от Java 8, но тъй като ми се вижда доста по-тромав синтаксиса на функционалното програмиране от този в C#, на някои места съм го избягнала.

 Повечето задачи ги бях решила със split. После добавих и варинат с match. Като втори вариант на моето решение съм копирала и интересни решения на други колеги.

https://github.com/EBojilova/Java/tree/master/4Java-Collections-Basics/src

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