Sobes.tech

Kotlin

Jaké testovací případy je třeba zvážit pro metodu join? Jaká optimalizace lze přidat?

Senior
291

// rezervace(sedadlo_id, uzivatel_id) PostgreSQL Begin Transaction(read_commited) seat = select * from seats where id = seat_id for update if(seat == null || seat.status == "booked") rollback return error("Sedadlo není dostupné") insert into bookings (user_id, seat_id, status, created_at) values (user_id, ...) update seats set status = 'booked' where id = seat_id commit return success()

Senior
216

Proč je v Map klíčem závorky uzavírací a hodnotou otevírací? Co se změní, pokud to uděláme naopak? Jaká je složitost containsValue ve srovnání s get podle klíče?

Senior
196

/*Dána je řetězec, je třeba implementovat funkci pro kontrolu správnosti označení závorek. Každá otevírací závorka musí odpovídat odpovídající uzavírací závorce. Otevírací a uzavírací závorky musí být ve správném pořadí. Typy závorek: "{", "}", "(", ")", "[", "]". Vstup: "([]){}[(()())()]" Výsledek: true Vstup: "[(])" Výsledek: false Protože závorky 2 a 3 jsou nesprávně uvedeny, uzavírací ']' se objevuje dříve než uzavírací '(' */ public boolean check(String s){ Deque<Character> stack = new ArrayDeque<>(); Map<Character, Character> map = Map.of( ')', '(', ']', '[', '}', '{' ); // ((( for( char c : s.toCharArray()){ if(map.containsValue(c)){ stack.push(c); } else if(map.containsKey(c)){ if( stack.isEmpty() || stack.pop() != map.get(c)){ return false; } } } return stack.isEmpty(); }

Senior
158

/* VÝBĚR vlevo.K, vlevo.V1, vpravo.V2 Z vlevo JOIN vpravo ON vlevo.K = vpravo.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> vlevo, List<Pair<K, V2>> vpravo) { return null; } private static class Pair<A, B> { private A první; private B druhý; Pair(A první, B druhý) { this.první = první; this.druhý = druhý; } } private static class Triple<A, B, C> { private A první; private B druhý; private C třetí; Triple(A první, B druhý, C třetí) { this.první = první; this.druhý = druhý; this.třetí = třetí; } }

Senior
153