title: Find a target value in an unsorted array of integers by performing additions of integers
body: <p>Following is an interview question asked by 'Amazon' to me. I still haven't come up with a optimized solution. </p>
  
  <p><strong>Problem Statement:</strong><br>
  Given an unsorted array of integers n. <strong>Return 'true' if the addition</strong> of any integers from that array <strong>matches</strong> with the <strong>target value</strong> else <strong>return false</strong>.  </p>
  
  <p><strong>Note:</strong> </p>
  
  <pre><code>   1)'n' could be 1000 or 10,000.
     2) Target value could be 'negative'
     3) It may be addition of any 'k' integers (not only two) , where k&lt;=n.  
  </code></pre>
  
  <p><strong>Test Condition:</strong></p>
  
  <pre><code>    i/p:- Array A[]= {6,7,3,0,12,-5,-6,100}
      Target =  8
      o/p:- TRUE        
  As, 6+7+(-5)=8
  </code></pre>
  
  <p>If we try to do it linearly or normally it will take <strong>O(2^n) time complexity</strong>.<br>
  So I am looking for any method or algorithm which will optimized this problem more.  </p>
  
  <p>Thank you in advance!</p>