Sobes.tech

Kotlin

Join metodu üçün hansı test halları nəzərdən keçirilməlidir? Hansı optimizasiyalar əlavə oluna bilər?

Senior
291

// bronlama(kreslo_id, istifadeci_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("Kreslo mövcud deyil") 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
220

Map-də açar bağlayan mötərizə, dəyər isə açan mötərizədir? Əgər əksinə etsək, nə dəyişər? containsValue ilə get arasındakı mürəkkəblik nədir?

Senior
198

/* SEÇİM sol.K, sol.V1, sağ.V2 FROM sol JOIN sağ ON sol.K = sağ.K; */ public <K extends Comparable<K>, V1, V2> List<Triple<K, V1, V2>> join(List<Pair<K, V1>> sol, List<Pair<K, V2>> sağ) { return null; } private static class Pair<A, B> { private A ilk; private B ikinci; Pair(A ilk, B ikinci) { this.ilk = ilk; this.ikinci = ikinci; } } private static class Triple<A, B, C> { private A ilk; private B ikinci; private C uc; Triple(A ilk, B ikinci, C uc) { this.ilk = ilk; this.ikinci = ikinci; this.uc = uc; } }

Senior
161

/*Verilmiş bir sətir üçün, möhkəm parantez göstəricisinin düzgünlüyünü yoxlamaq üçün funksiya həyata keçirilməlidir. Hər açılan möhkəm parantez müvafiq bağlanan parantezə uyğun olmalıdır. Açılan və bağlanan parantezlər düzgün ardıcıllıqla olmalıdır. Parantez növləri: "{", "}", "(", ")", "[", "]". Daxil edilən: "([]){}[(()())()]" Nəticə: true Daxil edilən: "[(])" Nəticə: false Çünki 2 və 3-cü parantezlər yanlış göstərilib, bağlanan ']' əvvəlcə bağlanan '(' ilə qarşılaşır. */ 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
160