zoukankan      html  css  js  c++  java
  • leetcode系列---Two Sum C#code

            /// <summary>
            /// 方法一:双循环
            /// </summary>
            /// <param name="array"></param>
            /// <param name="target"></param>
            /// <returns></returns>
            public static List<int[]> twoSum(int[] array, int target)
            {
                //int[] result;
                List<int[]> result = new List<int[]>();
                for (int i = 0; i < array.Count(); i++)
                {
                    for (int j = i + 1; j < array.Count(); j++)
                    {
                        if (array[i] + array[j] == target && i != j)
                        {
                            int[] aa = { i, j };
                            result.Add(aa);
                        }
                    }
                }
                return result;
            }
            /// <summary>
            /// 方法二:单循环 
            /// </summary>
            /// <param name="array"></param>
            /// <param name="target"></param>
            /// <returns></returns>
            public static List<int[]> twoSum2(int[] array, int target)
            {
                List<int[]> result = new List<int[]>();
                for (int i = 0; i < array.Count(); i++)
                {
                    var x = array.Select((a, index) => new { a, index }).Where(a => a.a == (target - array[i]));
                    if (x.ToList().Count != 0 && i != x.ToList()[0].index)
                    {
                        int[] aa = { i, x.ToList()[0].index };
                        var y=result.Where(a => a[0] == x.ToList()[0].index && a[1] == i);
                        if (y.ToList().Count == 0)
                            result.Add(aa);
                    }
                }
                return result;
            }
    

      控制台展示:

     static void Main(string[] args)
            {
                Console.WriteLine("请输入数组:");
    
                string ss = Console.ReadLine();
                int length = ss.Length;
                int[] arry = new int[length];
                for (int i = 0; i < length; i++)
                {
                    string s = ss.Substring(i, 1);
                    arry[i] = Convert.ToInt32(s);
                }
                Console.WriteLine("请输入目标值:");
                int target = Convert.ToInt32(Console.ReadLine());
                List<int[]> result = twoSum2(arry, target);
                foreach (int[] ar in result)
                {
                    foreach (int i in ar)
                    {
                        Console.Write(i);
                    }
                }
                Console.ReadLine();
            }
    

      

  • 相关阅读:
    MySQL数据库操作(7)联表查询、事务
    MySQL数据库操作(6)查询
    MySQL数据库操作(5)表关系
    Python零基础入门第1章.环境搭建
    Python零基础入门教程目录
    6.函数与代码复用
    元组
    列表
    复数(complex)
    浮点数类型(float)
  • 原文地址:https://www.cnblogs.com/wqtmelo/p/8430003.html
Copyright © 2011-2022 走看看