<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pusher&#039;s home &#187; задачи</title>
	<atom:link href="http://pusher.kiev.ua/tag/%d0%b7%d0%b0%d0%b4%d0%b0%d1%87%d0%b8/feed/" rel="self" type="application/rss+xml" />
	<link>http://pusher.kiev.ua</link>
	<description>homepage&#38;blog</description>
	<lastBuildDate>Wed, 02 May 2012 22:58:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>partial distinct</title>
		<link>http://pusher.kiev.ua/common/partial-distinct/</link>
		<comments>http://pusher.kiev.ua/common/partial-distinct/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 14:26:00 +0000</pubDate>
		<dc:creator>justpusher</dc:creator>
				<category><![CDATA[Общая]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[задачи]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://pusher.kiev.ua/uncategorized/partial-distinct/</guid>
		<description><![CDATA[предлагаю SQL-задачку. не надуманная, возникла на работе. контекст: музыкальный сайт, таблица (mysql) с плейлистами юзера playlists: { int id, //автоинкремент int song_id, //id самой песни int user_id, //id юзера, который добавил себе песню datetime added, //время, когда добавлена песня в его плейлист } song_id не уникальны, т.к. песню могли добавить несколько юзеров. задача: написать SQL [...]]]></description>
			<content:encoded><![CDATA[<p>предлагаю SQL-задачку. не надуманная, возникла на работе.</p>
<p>контекст: музыкальный сайт, таблица (mysql) с плейлистами юзера</p>
<p>playlists:<br />
{<br />
  int id, //автоинкремент<br />
  int song_id, //id самой песни<br />
  int user_id, //id юзера, который добавил себе песню<br />
  datetime added, //время, когда добавлена песня в его плейлист<br />
}</p>
<p>song_id не уникальны, т.к. песню могли добавить несколько юзеров.</p>
<p>задача: написать SQL для выборки: &#8220;последние песни, добавленные в плейлисты пользователей&#8221;. для песен нужно вывести кто и когда их добавил в последний раз. дубликаты песен выводить не нужно, если песню добавили два юзера &#8211; вывести последнее добавление. </p>
<p>иными словами, нужно выбрать &#8220;последние N неповторяющихся песен в плейлистах с указанием того, кто последний и когда её добавил&#8221;.</p>
<p>то, что пока придумал я, имеет 4 select&#8217;а в запросе и 3й уровень вложенности этих select&#8217;ов. сможешь лучше?</p>
<p>P.S. конечно же, должно работать максимально быстро. в наличии есть индекс по added.</p>
]]></content:encoded>
			<wfw:commentRss>http://pusher.kiev.ua/common/partial-distinct/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Напрягай мозги!</title>
		<link>http://pusher.kiev.ua/common/%d0%bd%d0%b0%d0%bf%d1%80%d1%8f%d0%b3%d0%b0%d0%b9-%d0%bc%d0%be%d0%b7%d0%b3%d0%b8/</link>
		<comments>http://pusher.kiev.ua/common/%d0%bd%d0%b0%d0%bf%d1%80%d1%8f%d0%b3%d0%b0%d0%b9-%d0%bc%d0%be%d0%b7%d0%b3%d0%b8/#comments</comments>
		<pubDate>Sun, 10 May 2009 14:59:00 +0000</pubDate>
		<dc:creator>justpusher</dc:creator>
				<category><![CDATA[Общая]]></category>
		<category><![CDATA[задачи]]></category>
		<category><![CDATA[программирование]]></category>

		<guid isPermaLink="false">http://pusher.kiev.ua/uncategorized/%d0%bd%d0%b0%d0%bf%d1%80%d1%8f%d0%b3%d0%b0%d0%b9-%d0%bc%d0%be%d0%b7%d0%b3%d0%b8/</guid>
		<description><![CDATA[Юра Зновьяк сегодня подкинул забавную задачку. Цитирую: Interview question: f(f(n)) == -n Design a function f, such that: f(f(n)) == -n Where n is a 32 bit signed integer; you can&#8217;t use complex numbers arithmetic. If you can&#8217;t design such a function for the whole range of numbers, design it for the largest range possible. [...]]]></description>
			<content:encoded><![CDATA[<p>Юра Зновьяк сегодня подкинул забавную задачку. Цитирую:</p>
<p>Interview question: f(f(n)) == -n<br />
Design a function f, such that:<br />
f(f(n)) == -n<br />
Where n is a 32 bit signed integer; you can&#8217;t use complex numbers arithmetic.<br />
If you can&#8217;t design such a function for the whole range of numbers, design it for the largest range possible.</p>
<p>В двух словах: нужно написать int f(int n) {&#8230;} такую что f(f(n))==-n.</p>
<p>Я написал для всего диапазона int, кроме 3х чисел. Мне понадобилась 2 минуты чтобы придумать и минуты 3 чтобы закодить. А ты?</p>
]]></content:encoded>
			<wfw:commentRss>http://pusher.kiev.ua/common/%d0%bd%d0%b0%d0%bf%d1%80%d1%8f%d0%b3%d0%b0%d0%b9-%d0%bc%d0%be%d0%b7%d0%b3%d0%b8/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

