<?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>eXclusiveMinds &#187; Inverview Tips</title>
	<atom:link href="http://eXclusiveMinds.com/tag/interview-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://eXclusiveMinds.com</link>
	<description>eXclusive resource for programmers, developers and designers</description>
	<lastBuildDate>Sat, 13 Mar 2010 23:28:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Program to find Maximum sum of subset in array</title>
		<link>http://eXclusiveMinds.com/2008/06/29/maximum-sum-of-subset-in-array/</link>
		<comments>http://eXclusiveMinds.com/2008/06/29/maximum-sum-of-subset-in-array/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 03:52:15 +0000</pubDate>
		<dc:creator>eXclusiveMinds</dc:creator>
				<category><![CDATA[Inverview Tips]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://eXclusiveMinds.com/?p=219</guid>
		<description><![CDATA[Write a program to find maximum sum of subset in integer array. This is frequently asked interview question in Microsoft, Google and Amazon for position of SDE/SDET. I came up with efficient O(n) solution for this problem. If you have other solution to this problem; Please feel free to comment. Let&#8217;s dive into problem.


Problem: Write [...]]]></description>
			<content:encoded><![CDATA[<p>Write a program to find maximum sum of subset in integer array. This is frequently asked interview question in Microsoft, Google and Amazon for position of SDE/SDET. I came up with efficient O(n) solution for this problem. If you have other solution to this problem; Please feel free to comment. Let&#8217;s dive into problem.<br />
<span id="more-219"></span></p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;">Problem<span style="color: #008000;">:</span> Write a program to find maximum sum of subset <span style="color: #0600FF;">in</span> integer array.
<span style="color: #0000FF;">Example</span><span style="color: #008000;">:</span> 
Given input<span style="color: #008000;">:</span> <span style="color: #000000;">&#123;</span><span style="color: #FF0000;">3</span> <span style="color: #FF0000;">2</span> <span style="color: #FF0000;">8</span> <span style="color: #FF0000;">9</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">25</span> <span style="color: #FF0000;">5</span> <span style="color: #FF0000;">8</span> <span style="color: #FF0000;">4</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">3</span> <span style="color: #FF0000;">5</span> <span style="color: #FF0000;">3</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">10</span><span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span>
The subset with the largest sum would be<span style="color: #008000;">:</span> <span style="color: #000000;">&#123;</span><span style="color: #FF0000;">5</span> <span style="color: #FF0000;">8</span> <span style="color: #FF0000;">4</span> <span style="color: #FF0000;">4</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">3</span> <span style="color: #FF0000;">5</span> <span style="color: #FF0000;">3</span><span style="color: #000000;">&#125;</span>
&nbsp;
So answer should be<span style="color: #008000;">:</span>
Start<span style="color: #008000;">:</span> <span style="color: #FF0000;">5</span> End<span style="color: #008000;">:</span> <span style="color: #FF0000;">11</span></pre></div></td></tr></table></div>

<p>This is what I came up with:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF;">namespace</span> MaxSumSubSet
<span style="color: #000000;">&#123;</span>
    <span style="color: #FF0000;">class</span> Program
    <span style="color: #000000;">&#123;</span>
&nbsp;
        <span style="color: #0600FF;">static</span> <span style="color: #0600FF;">void</span> Main<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> args<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> nums <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> <span style="color: #FF0000;">int</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span> <span style="color: #000000;">&#123;</span> <span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">2</span>, <span style="color: #FF0000;">8</span>, <span style="color: #FF0000;">9</span>, <span style="color: #008000;">-</span><span style="color: #FF0000;">25</span>, <span style="color: #FF0000;">5</span>, <span style="color: #FF0000;">8</span>, <span style="color: #FF0000;">4</span>, <span style="color: #FF0000;">4</span>, <span style="color: #008000;">-</span><span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">5</span>, <span style="color: #FF0000;">3</span>, <span style="color: #008000;">-</span><span style="color: #FF0000;">10</span> <span style="color: #000000;">&#125;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">int</span> start <span style="color: #008000;">=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">2</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">int</span> end <span style="color: #008000;">=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">2</span><span style="color: #008000;">;</span>         
            <span style="color: #FF0000;">int</span> max <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">int</span> sum <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
                <span style="color: #0600FF;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>, j <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span> i <span style="color: #008000;">&lt;</span> nums.<span style="color: #0000FF;">Length</span><span style="color: #008000;">;</span> i<span style="color: #008000;">++</span><span style="color: #000000;">&#41;</span>
                <span style="color: #000000;">&#123;</span>
                    sum <span style="color: #008000;">+=</span> nums<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
                    <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>sum <span style="color: #008000;">&gt;</span> max<span style="color: #000000;">&#41;</span>
                    <span style="color: #000000;">&#123;</span>
                        max <span style="color: #008000;">=</span> sum<span style="color: #008000;">;</span>
                        start <span style="color: #008000;">=</span> j<span style="color: #008000;">;</span>
                        end <span style="color: #008000;">=</span> i<span style="color: #008000;">;</span>
                    <span style="color: #000000;">&#125;</span>
                    <span style="color: #0600FF;">else</span> <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>sum <span style="color: #008000;">&lt;</span> <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
                    <span style="color: #000000;">&#123;</span>
                        j <span style="color: #008000;">=</span> i <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
                        sum <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
                    <span style="color: #000000;">&#125;</span>
                <span style="color: #000000;">&#125;</span>           
            Console.<span style="color: #0000FF;">WriteLine</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Start:{0} End:{1}&quot;</span>, start, end<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></td></tr></table></div>

<p>OUTPUT:</p>

<div class="wp_syntax"><table><tr><td><div class="code"><pre class="csharp" style="font-family:Consolas; monospace;">Start<span style="color: #008000;">:</span> <span style="color: #FF0000;">5</span> End<span style="color: #008000;">:</span> <span style="color: #FF0000;">11</span></pre></div></td></tr></table></div>

<img src="http://eXclusiveMinds.Com/?ak_action=api_record_view&id=219&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://eXclusiveMinds.com/2008/06/29/maximum-sum-of-subset-in-array/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
