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();
            }
    

      

  • 相关阅读:
    worker与redis网络中断后,worker不再接受任务的异常问题
    Pyecharts 绘制动态流线地图
    MySql存储过程知识了解
    Pyecharts配置项使用
    Pandas一个需求:存在一个列表,需要在一个DataFrame中取到以该列表为索引的数据
    mysql时间与字符串之间相互转换
    map + apply + applymap
    pandas——read_csv
    Python 原生协程------asyncio(选自公众号)
    一道记数题
  • 原文地址:https://www.cnblogs.com/wqtmelo/p/8430003.html
Copyright © 2011-2022 走看看