Advertisement
Guest User

Untitled

a guest
Nov 9th, 2018
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Test-Sum
  2. {
  3.     param(
  4.         [Parameter( Mandatory, Position = 0 )]
  5.         [Int[]]
  6.         $List,
  7.  
  8.         [Parameter( Mandatory, Position = 1 )]
  9.         [Int]
  10.         $Target
  11.     )
  12.  
  13.     Write-Host "Checking List of $($List.count) numbers for a sum of $Target"
  14.     $visited = @{}
  15.  
  16.     for ( $i = 0; $i -lt $List.count; $i++ )
  17.     {
  18.         $number = $List[$i]
  19.        
  20.         if ( $null -ne $visited[$Target - $number] )
  21.             {
  22.                 Write-Output "$($Target - $number) + $number = $Target"
  23.                 return $true
  24.             }
  25.             $visited[$number] = $Target - $number
  26.         }
  27.     return $false
  28. }
  29.  
  30. Test-Sum -List -10,2,3,4,20,35 25
  31. Test-Sum -List 0,2,3,4,20,25,35 25
  32.  
  33. 2000,4000,8000,16000 | % {
  34.     "in $((Measure-Command {Test-Sum @(1..$_) $_}).TotalMilliseconds) ms"
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement