之前搜集到C#一些算法

  1. 判断是否是数字
    static bool isNumeric(string input)
    {

        bool flag = true;

        string pattern = (@"^\d+$");

        Regex validate = new Regex(pattern);

        if (!validate.IsMatch(input))
        {

            flag = false;

        }

        return flag;

    }
  1. 最简单的去重
        for (int i = 0; i < list3.Count; i++)

        {
            if (list4.IndexOf(list3[i]) == -1)
            {
                list4.Add(list3[i]);
            }
        }
  1. 是否是回文
    public bool isHuiwen(string bill)
    {

        int pos = 0;

        Stack<string> ko = new Stack<string>();

        bool isHui = true;

        for (int i = 0; i < bill.Length; i++)
        {

            ko.Push(bill.Substring(i, 1));

        }

        while (ko.Count > 0)

        {

            string touding = ko.Pop();

            if (touding != bill.Substring(pos, 1))
            {

                isHui = false;

                break;

            }

            pos++;

        }

        return isHui;

    }
  1. 时间复杂度从小到大
	O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
  1. 解决算法问题思路(画图抽象问题形象化 举例使抽象问题具体化 分解使复杂问题简单化)

猜你喜欢

转载自blog.csdn.net/qq_37811712/article/details/85386886