<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Sort &#8211; JSAlgorithm</title>
	<atom:link href="https://jsalgorithm.com/category/sort/feed/" rel="self" type="application/rss+xml" />
	<link>https://jsalgorithm.com</link>
	<description></description>
	<lastBuildDate>Thu, 14 May 2020 05:15:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.5.15</generator>
<site xmlns="com-wordpress:feed-additions:1">177240629</site>	<item>
		<title>Most Visited Website Pattern</title>
		<link>https://jsalgorithm.com/2020/05/14/most-visited-website-pattern/</link>
					<comments>https://jsalgorithm.com/2020/05/14/most-visited-website-pattern/#respond</comments>
		
		<dc:creator><![CDATA[Ronald]]></dc:creator>
		<pubDate>Thu, 14 May 2020 05:15:51 +0000</pubDate>
				<category><![CDATA[Array]]></category>
		<category><![CDATA[Leetcode]]></category>
		<category><![CDATA[Loop]]></category>
		<category><![CDATA[Sort]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[leetcode]]></category>
		<category><![CDATA[loop]]></category>
		<guid isPermaLink="false">http://50.19.13.106/?p=74</guid>

					<description><![CDATA[let mostVisitedPattern = function(username, timestamp, website) { let map = new Map(); for (let i = 0; i &#60; username.length; i++) { if (map.has(username[i])) { map.get(username[i]).push([website[i], timestamp[i]]); } else { map.set(username[i], [[website[i], timestamp[i]]]); } } // get all possibilites let visitedPattern = {}; let possibilityMap = new Map(); for(let [user, visits] of map.entries()) { visitedPattern[user] [&#8230;]]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-preformatted">let mostVisitedPattern = function(username, timestamp, website) {
    let map = new <strong><em>Map</em></strong>();
    for (let i = 0; i &lt; username.length; i++) {
        if (map.has(username[i])) {
            map.get(username[i]).push([website[i], timestamp[i]]);
        }
        else {
            map.set(username[i], [[website[i], timestamp[i]]]);
        }
    }

    // get all possibilites
    let visitedPattern = {};
    let possibilityMap = new <strong><em>Map</em></strong>();
    for(let [user, visits] of map.entries()) {
        visitedPattern[user] = {};
        const value = visits.sort((a, b) => a[1] - b[1]).map(([a]) => a);

        if ( value.length &lt; 3) continue;
        for (let i = 0; i &lt; value.length - 2; i++) {
            for (let j = i + 1; j &lt; value.length - 1; j++) {
                for (let k = j + 1; k &lt; value.length; k++) {
                    let key = `${value[i]},${value[j]},${value[k]}`;
                    if(possibilityMap.has(key)) {
                        if(!visitedPattern[user][key]) {
                            possibilityMap.set(key, possibilityMap.get(key) + 1);
                            visitedPattern[user][key] = 1;
                        }
                    }
                    else {
                        possibilityMap.set(key, 1);
                        visitedPattern[user][key] = 1;
                    }
                }
            }
        }
    }

    const result = [...possibilityMap];
    return result.sort((a, b) => {
        if(a[1] &lt; b[1]) {
            return 1;
        }
        else if (a[1] > b[1]) {
            return -1;
        }
        return a[0].localeCompare(b[0]);
    }).map(arr => arr[0]).shift().split(','); //?


    // result.pop(); //?
        // .map(arr => arr[0]).pop().split('|'); //?
};</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://jsalgorithm.com/2020/05/14/most-visited-website-pattern/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">74</post-id>	</item>
		<item>
		<title>Search Suggestion System (Simple)</title>
		<link>https://jsalgorithm.com/2020/05/14/search-suggestion-system-simple/</link>
					<comments>https://jsalgorithm.com/2020/05/14/search-suggestion-system-simple/#respond</comments>
		
		<dc:creator><![CDATA[Ronald]]></dc:creator>
		<pubDate>Thu, 14 May 2020 03:13:57 +0000</pubDate>
				<category><![CDATA[Array]]></category>
		<category><![CDATA[Leetcode]]></category>
		<category><![CDATA[Sort]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[leetcode]]></category>
		<category><![CDATA[sorts]]></category>
		<guid isPermaLink="false">http://50.19.13.106/?p=70</guid>

					<description><![CDATA[let suggestedProducts = function(products, searchWord) { products.sort(); let result = []; for(let i = 0; i &#60; searchWord.length; i++) { products = products.filter(p =&#62; p[i] === searchWord[i]); result.push(products.slice(0, Math.min(3, products.length))); } return result; //?};]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-preformatted">let suggestedProducts = function(products, searchWord) {<br>    products.sort();<br><br>    let result = [];<br>    for(let i = 0; i &lt; searchWord.length; i++) {<br>        products = products.filter(p =&gt; p[i] === searchWord[i]);<br>        result.push(products.slice(0, <strong><em>Math</em></strong>.min(3, products.length)));<br>    }<br><br>    return result; //?<br>};</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://jsalgorithm.com/2020/05/14/search-suggestion-system-simple/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">70</post-id>	</item>
		<item>
		<title>Merge Sort</title>
		<link>https://jsalgorithm.com/2020/05/12/merge-sort/</link>
					<comments>https://jsalgorithm.com/2020/05/12/merge-sort/#respond</comments>
		
		<dc:creator><![CDATA[Ron]]></dc:creator>
		<pubDate>Tue, 12 May 2020 00:09:39 +0000</pubDate>
				<category><![CDATA[Recursion]]></category>
		<category><![CDATA[Sort]]></category>
		<category><![CDATA[mergesort]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[sorts]]></category>
		<guid isPermaLink="false">http://50.19.13.106/?p=30</guid>

					<description><![CDATA[let mergeSort = function(numbers) { function mergeSort(arr) { if (arr.length === 1) return arr; let center = Math.floor(arr.length / 2); let left = arr.slice(0, center); let right = arr.slice(center); return merge(mergeSort(left), mergeSort(right)); } function merge(left, right) { let results = []; while (left.length &#38;&#38; right.length) { if (left[0] &#60; right[0]) { results.push(left.shift()); } else { [&#8230;]]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-preformatted">let mergeSort = function(numbers) {

    function mergeSort(arr) {
        if (arr.length === 1) return arr;
        let center = <strong><em>Math</em></strong>.floor(arr.length / 2);
        let left = arr.slice(0, center);
        let right = arr.slice(center);
        return merge(mergeSort(left), mergeSort(right));
    }
    
    function merge(left, right) {
        let results = [];
        while (left.length &amp;&amp; right.length) {
            if (left[0] &lt; right[0]) {
                results.push(left.shift());
            }
            else {
                results.push(right.shift());
            }
        }

        return [...results, ...left, ...right];
    }

    return mergeSort(numbers);
}</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://jsalgorithm.com/2020/05/12/merge-sort/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">30</post-id>	</item>
	</channel>
</rss>
