Engineering Blog
11 subscribers
69 photos
76 links
Software Engineer @ EPAM Systems
CS @ Millat Umidi University

Talks about:
📗 OS
📕 Networking
📙 Backend Engineering
📘 RDBMS & NoSQL
📕 DS & ALGO
Download Telegram
Forwarded from Dr. Algorithm
2. Savdogarning jumbog´i

Rimdan mol bilan qaytgan savdogar qaroqchilar tomonidan ushlab olindi. Savdogar muloyimlik bilan rahm-shafqat so'radi, ammo qaroqchilar uni qo`yib yubormoqchi emas edi.

-- Do'stlar, - dedi u, - to'g'risini aytsam, mening vazifam juda oddiy va men uni sizlarga sodda qilib taklif etaman.

Uning gaplari iliq qabul qilindi. Chizmasida ko'rsatilgan rejani ochdi va tushuntirdi:

... davomi keyingi xabarda

https://t.me/DrAlgorithm/443
Forwarded from Dr. Algorithm
Savdogarning jumbog´i

Rimdan mol bilan qaytgan savdogar qaroqchilar tomonidan ushlab olindi. Savdogar muloyimlik bilan rahm-shafqat so´radi, ammo qaroqchilar uni qo`yib yubormoqchi emas edi.

-- Do´stlar, - dedi u, - to´g´risini aytsam, mening vazifam juda oddiy va men uni sizlarga sodda qilib taklif etaman.

Uning gaplari iliq qabul qilindi. Chizmasida ko´rsatilgan rejani ochdi va tushuntirdi:

yuqoridagi rasmga qarang


bu yerda oltmish to´rtta shahar va ularni bog´laydigan yo´llar tasvirlangan. Bundan tashqari, safarning boshlang´ich nuqtasi qora katak bilan ko´rsatilgan ekanligini tushuntirdi.

Savdogar barcha shaharlarni 15 ta o´tishda tashrif buyurishi kerak edi.
Har bir shahar bir marta va faqat bir marta kirib chiqilishi va har bir o´tish to´g´ri chiziqda amalga oshirilishi kerak edi. Siz o´z yo´lingizni istalgan joyda tugatishingiz mumkin, lekin rasmning pastki qismida qisqa yo´lning yo´qligi tasodifiy emasligini unutmasligingiz kerak - bu erda hech qanday yo´l yo´q.

Rasmda berilgan qora katakdan boshlab, barcha shaharlarni o`tib chiqa olasizmi? Eng ko´p 15 marta burilish mumkin ekan?

Savol raqami: 40221

Javob topmasdan izohlarni ochmang. Javobini koʻrib qolsangiz qizzigʻi qolmaydi.

Iltimos: javobni topgan boʻlsangiz koʻrinmas hira (spoiler) qilib tashlang. Boshqalar ham urinib koʻrishsin!

https://t.me/DrAlgorithm/443
Forwarded from Donishmand Dasturchi
box.com dan ish uchun rad (reject) oldim.

Maqola: https://telegra.ph/Boxcom-dan-rad-javob-oldim-03-07
👍1
Forwarded from Khamidulla Inoyatov
Biz qanday esdan chiqaramiz yohud eng muxim ko’nikma.

TLDR: Bu maqolada Amsterdamdagi kitob do’koni, eslab qolishish ko’nikmasi va uning muximligi haqida so’z yuritiladi. Barchaga ham tavsiya qilmayman. Juda uzun va qiziqarsiz bo’lishi mumkin siz uchun.
Agar yo’q men baribir o’qiyman desangiz unda xavola orqali maqolani o’qing.

@khamidulla_inoyatov
👍2
Engineering Blog
https://research.google/blog/extra-extra-read-all-about-it-nearly-all-binary-searches-and-mergesorts-are-broken/
This is about bug in binary search implementation in java which is detected 9 years later
😁1
Engineering Blog pinned «Recently had an interview for Junior Java Engineer role at Vention Teams. Below you can find sample questions that i was asked during interview: https://telegra.ph/Vention--Interview--Junior-Java-Engineer-07-31»
Engineering Blog pinned «Hi, recently had a Project Interview at Epam Systems, below you can find the questions: https://telegra.ph/Java--Project-Interview--Epam-Systems-09-11»
Spent more then an hour to solve this problem and finally solved it 🎯:)

java  
/*
// Definition for a Node.
class Node {
public int val;
public List<Node> neighbors;
public Node() {
val = 0;
neighbors = new ArrayList<Node>();
}
public Node(int _val) {
val = _val;
neighbors = new ArrayList<Node>();
}
public Node(int _val, ArrayList<Node> _neighbors) {
val = _val;
neighbors = _neighbors;
}
}
*/

class Solution {
public Node cloneGraph(Node node) {

if (node == null) {
return node;
}

Set<Integer> visited = new HashSet<>();
Map<Integer, Node> clones = new HashMap<>();
Queue<Node> q = new LinkedList<>();
q.add(node);

while (!q.isEmpty()) {

Node currNode = q.poll();
int currVal = currNode.val;

if (!visited.contains(currVal)) {

Node nodeClone = clones.getOrDefault(currVal, new Node(currVal));
clones.put(currVal, nodeClone);

for (Node child : currNode.neighbors) {
if (child == null) continue;
Node childClone = clones.getOrDefault(child.val, new Node(child.val));
clones.put(child.val, childClone);
nodeClone.neighbors.add(childClone);
q.add(child);
}

visited.add(currVal);
}
}

return clones.isEmpty() ? node : clones.get(1);
}
}


#leetcode
Solved an interesting leetcode problem today after so many try:


class Solution {

Map<Character, Integer> freq = new HashMap<>();
Map<Character, Integer> count = new HashMap<>();

public int leastInterval(char[] tasks, int n) {

for (char task : tasks) {
freq.put(task, 0);
count.put(task, count.getOrDefault(task, 0) + 1);
}

PriorityQueue<Character> q = new PriorityQueue<>(new CustomOrder());
Set<Character> seen = new HashSet<>();

for (char task : tasks) {
if (seen.contains(task)) {
continue;
}
q.add(task);
seen.add(task);
}


int intervals = 0;
while (!q.isEmpty()) {

boolean hasTask = false;
Queue<Character> tmpQ = new LinkedList<>();
int size = q.size();
for (int i = 0; i < size; i++) {
char task = q.poll();

if (freq.get(task) == 0) {
intervals += 1;
count.put(task, count.get(task) - 1);
if (count.get(task) > 0) {
tmpQ.add(task);
}
decreaseFreq();
freq.put(task, n);
hasTask = true;
break;
}else {
tmpQ.add(task);
}
}

if (!hasTask) {
// cpu idle
decreaseFreq();
intervals += 1;
}
q.addAll(tmpQ);
}

return intervals;
}

private void decreaseFreq() {
for (Map.Entry<Character, Integer> entry : freq.entrySet()) {
char key = entry.getKey();
int occur = entry.getValue();

if (occur > 0) {
freq.put(key, occur - 1);
}
}
}

class CustomOrder implements Comparator<Character> {

@Override
public int compare(Character t1, Character t2) {
if (count.get(t1) > count.get(t2)) {
return -1;
}else if (count.get(t2) > count.get(t1)) {
return 1;
}else {
return 0;
}
}

}
}
Forwarded from MJC School | Uzbekistan
What will be the output of this program:

class Person {
  Person() {
    System.out.print("CP ");
  }

  static {
    System.out.print("SP ");
  }
}

class Manager extends Person {
  Manager() {
    System.out.print("CT ");
  }

  {
    System.out.print("IT ");
  }
}

class Program {
  public static void main(String[] args) {
    Person p1 = new Manager();
  }
}