月份:2018年1月

[LeetCode]Intersection of Two Arrays

[LeetCode]Intersection of Two Arrays

很简单的一道题
扫一遍就好

    public class Solution
    {
        public int[] Intersection(int[] nums1, int[] nums2)
        {
            if (nums1.Length == 0 || nums2.Length == 0)
            {
                int[] emptyArray = new int[0];
                return emptyArray;
            }
            List<int> listNum = new List<int>();
            foreach (var i in nums2)
            {
                if (nums1.Contains(i) && !listNum.Contains(i))
                {
                    listNum.Add(i);
                }
            }
            return listNum.ToArray();
        }
    }
[LeetCode]Find All Duplicates in an Array

[LeetCode]Find All Duplicates in an Array

有一个不允许使用额外空间同时要在O(n)复杂度解决的要求
那就每找到一个数字,就把这个数字位置的数字置为负数。

    public class Solution
    {
        public IList<int> FindDuplicates(int[] nums)
        {
            IList<int> ans = new List<int>();
            for (int i = 0; i < nums.Length; i++)
            {
                int index = Math.Abs(nums[i]) - 1;
                if (nums[index] < 0)
                    ans.Add(Math.Abs(index + 1));
                nums[index] = -nums[index];
            }
            return ans;
        }
    }