Чому lint а не spotless?
Мені сподобалась ця сторінка
Дякую, виправив.
Ось рішення на java
Книги по С, по ассемблеру, Паскалю.
Сейчас leetcode и geeksforgeeks сайты.
Недавно появился новый проект LeetCode-in-Java.
Почем у вас тариф, 40 руб в час. Какая норма 150 постов в день? Не смешите меня что не знаете кто такой Добкин.
Комиссия за транзакцию, время на бухгалтерию, штрафы за просрочку. Рейтинг в доинг бизнес уплата налогов. Выстрел в ногу я считаю.
Мне всё ясно например. Тихановская за мир и дружбу с Россией. Лукашенко 2.0.
Мне не зашла эта идея. Можно штрафов за просрочку наполучать. Пусть раз в две недели налоги просят платить. Л — логика.
Все деньги вкладываю в индексный фонд через Interactive Brokers. Там получается 6,5% годовых в долларах. Это позволяет перекрывать долларовую инфляцию, хранить деньги в относительно стабильном месте — даже сам счёт застрахован на $500 000. Акции не застрахованы, но они групповые, сразу из нескольких компаний по разным отраслям.
Похоже на рекламу индексных фондов.
Радуюсь за наших работодателей, который могут нанять двадцать человек на новый проект. Хорошо живём!
я предложил Александру перейти на другую. Стоила она на 15% дороже, но по вкусу была много лучше. Александр согласился.
Мне интересно какой сорт кофе лучше.
SplDoublyLinkedList
и
SplQueue
это новые классы для меня.
Появилось решение.
Ура!
class Solution { /** * @param String $beginWord * @param String $endWord * @param String[] $wordList * @return String[][] */ function findLadders($beginWord, $endWord, $wordList) { $maskToWords = []; $wordToMasks = []; $closestWords = []; $allwords = $wordList; $allwords[] = $beginWord; foreach($allwords as $word){ for($i=0;$i<strlen($word);$i++){ $mask = $word; $mask[$i] = '_'; $maskToWords[$mask][$word] = true; $wordToMasks[$word][$mask] = true; } } foreach($allwords as $word){ foreach($wordToMasks[$word] as $mask => $notUsed){ foreach($maskToWords[$mask] as $linkedWord => $notUsed){ $closestWords[$word][$linkedWord] = true; } } } unset($maskToWords); unset($wordToMasks); unset($allwords); $queue = new SplQueue(); $visitedNodes = []; return (new Node($beginWord, $visitedNodes))->breadthFirstSearch($queue,$endWord,$closestWords); } } class Node { private $name; private $distance; private $parent; private $visitedNodes; function __construct($name, &$visitedNodes, $parent = null, $distance = 1){ $this->name = $name; $this->parent = $parent; $this->distance = $distance; $this->visitedNodes = &$visitedNodes; } private function getNextNodes(&$closestWords){ $nodes = []; foreach($closestWords[$this->name] as $linkedWord => $notUsed){ if(!isset($this->visitedNodes[$linkedWord])){ $nodes[] = new Node($linkedWord, $this->visitedNodes, $this, $this->distance+1); } } return $nodes; } private function getPath(){ $node = $this; $path = new SplDoublyLinkedList(); while($node){ $path->unshift($node->name); $node = $node->parent; } $pathArray = []; foreach($path as $item){ $pathArray[] = $item; } return $pathArray; } function traverse($queue,&$closestWords){ $this->visitedNodes[$this->name] = true; foreach($this->getNextNodes($closestWords) as $node){ $queue->enqueue($node); } } function breadthFirstSearch($queue,$endWord,&$closestWords){ $this->traverse($queue,$closestWords); $paths = []; $bestDistance = null; while(!$queue->isEmpty()){ $nextNode = $queue->dequeue(); if(!is_null($bestDistance) && $bestDistance < $nextNode->distance) break; if($nextNode->name===$endWord) { if(is_null($bestDistance)) $bestDistance = $nextNode->distance; $paths[] = $nextNode->getPath(); } $nextNode->traverse($queue,$closestWords); } return $paths; } }
Не могу решить задачу 126. (leetcode.com/problems/word-ladder-ii)
Також доступний клієнт okhttp, з версією 4.12.0