Find two numbers that sum to zero in a list.
Anonymous
public static bool FindTwoNumbersWithSumZero(int[] A) { if (A.Length == 0) return false; Dictionary dict = new Dictionary(A.Length); int numberTobeAdded; int sign = 1;int signFromDict;bool res; for (int i = 0; i < A.Length; i++) { sign = 1; numberTobeAdded = A[i]; if (numberTobeAdded < 0) { numberTobeAdded = numberTobeAdded * -1; sign = -1; } if (!dict.ContainsKey(numberTobeAdded)) { dict.Add(numberTobeAdded, sign); } else { res=dict.TryGetValue(numberTobeAdded,out signFromDict); if (A[i] + (signFromDict * numberTobeAdded) == 0) return true; } } return false; }
Check out your Company Bowl for anonymous work chats.