分类 算法 下的文章

算法:求最大子序和 C#版本


算法:求最大子序和 C#版本描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。思路设初始值 最大和ans=第一个元素,初始和为0 ,比较两值,找到最大值。循环所有元素 ,当sum<=- 阅读剩余部分 -

算法:求字符串不重复字符最大长度


算法:求字符串不重复字符最大长度输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。算法解析两次循环遍历。父循环从头i开始,子循环从i+1开始,找出从0开如的每个子串的最大长度通过建立Hashset集合把截取不同的子串添加到集合中,当有重复时,结果添加,通过j-i找到当次循环最大长- 阅读剩余部分 -

算法两数之和c#版本


算法两数之和c#版本给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。例子:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:- 阅读剩余部分 -

算法:求两数之和c#版本


算法:求两数之和c#版本给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]1.暴力循环两次for循环遍历 ,然后取值相加, 所以时间复杂度比较度- 阅读剩余部分 -

二叉树先遍历c#版本


二叉树先遍历c#版本常用遍历方法:void PreOrderTraversal( BinTree BT ):先序----根、左子树、右子树void InOrderTraversal( BinTree BT ): 中序---左子树、根、右子树void PostOrderTraversal( BinTree BT ):后序---左子树、右子树、根void LevelOrderTra- 阅读剩余部分 -