Кадом тести барои усули join бояд баррасӣ шаванд? Кадом оптимизатсияҳоро метавон илова кард?
Kotlin
// резервират(орынок_ид, потребител_ид) PostgreSQL Begin Transaction(read_commited) seat = select * from seats where id = seat_id for update if(seat == null || seat.status == "booked") rollback return error("Мястото не е налично") 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()
Чаро дар Map калид калиди пӯшида ва арзиш калиди кушода аст? Агар баръакс кунем, чӣ тағир меёбад? Мурраккабии containsValue дар муқоиса бо get ба асоси калид чист?
/* Таңдау сол.K, сол.V1, оң.V2 Солдан қосу оңға ON сол.K = оң.К; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> сол, List<Pair<K, V2>> оң) { return null; } private static class Pair<A, B> { private A биринчи; private B экинчи; Pair(A биринчи, B экинчи) { this.биринчи = биринчи; this.экинчи = экинчи; } } private static class Triple<A, B, C> { private A биринчи; private B экинчи; private C үчүнчү; Triple(A биринчи, B экинчи, C үчүнчү) { this.биринчи = биринчи; this.экинчи = экинчи; this.үчүнчү = үчүнчү; } }
/*Берілген жол бар, жақшалардың дұрыс көрсетілуін тексеру үшін функцияны жүзеге асыру қажет. Әр ашылатын жақша сәйкес жабылатын жақшаға сәйкес болуы керек. Ашылатын және жабылатын жақшалар дұрыс тәртіпте болуы керек. Жақшалардың түрлері: "{", "}", "(", ")", "[", "]". Кіріс: "([]){}[(()())()]" Нәтиже: шын Кіріс: "[(])" Нәтиже: жалған Өйткені 2 және 3-жақшалар дұрыс көрсетілмеген, жабылатын ']' бұрын пайда болады, жабылатын '(' алдында. */ 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(); }