找到 2628 篇文章 关于 C#

如何使用 C# 中的迭代方法检查树是否对称?

Nizamuddin Siddiqui
更新于 2021-08-17 08:33:25

120 次浏览

在迭代方法中,我们必须创建两个队列,一个队列保存左子节点值,另一个队列保存右子节点值。如果树为空,则它相对于穿过其根节点的垂直轴是对称的。否则,检查两个子树的根节点的值是否相同。如果是,则检查左子树和右子树是否对称。将左子节点值和右子节点值入队到队列 1,并将右子节点值和左子节点值入队到队列 1示例public class TreesPgm{    public ... 阅读更多

如何使用 C# 中的自底向上方法实现找零问题?

Nizamuddin Siddiqui
更新于 2021-08-17 08:30:45

440 次浏览

CoinChangeBottomUpApproach 接收 3 个参数作为输入,n 是金额,coins 数组包含硬币的总数,t 包含硬币的总数。声明一个动态数组,存储先前计算的值。循环遍历数组并计算计算金额所需的最小硬币数。如果已完成计算,则从动态数组中获取值。时间复杂度 - O(N)空间复杂度 - O(N)示例public class DynamicProgramming{    public int CoinChangeBottomUpApproach(int n, int[] coins, int t){       int[] dp = new int[100];       for (int i = 1; i < n; i++){   ... 阅读更多

如何使用 C# 中的自顶向下方法实现找零问题?

Nizamuddin Siddiqui
更新于 2021-08-17 08:25:03

1K+ 次浏览

CoinChangeTopDownApproach 接收 4 个参数,n 是金额,coins 数组包含需要从中计算金额的硬币,t 是硬币的总数,dp 数组将存储所有预先计算的值。如果金额为 0,则返回 0。如果该值已计算,则从 dp 数组返回。如果该值未计算,则递归调用 CoinChangeTopDownApproach。时间复杂度 - O(N)空间复杂度 - O(N)示例public class DynamicProgramming{    public int CoinChangeTopDownApproach(int n, int[] coins, int t, int[] dp){       if (n == 0){          return 0;   ... 阅读更多

如何使用 C# 中的自底向上方法实现最少步数到 1?

Nizamuddin Siddiqui
更新于 2021-08-17 08:22:48

172 次浏览

MinimumStepstoOneBottomdownApproach 接收整数 n 作为输入。参数 n 包含元素的总数。初始条件检查 n 是否等于 1。如果 n 等于 1,则返回 0。将 op1、op2 和 op3 初始化为最大值。如果 n mod 3 等于 0,则递归调用 MinimumStepstoOneBottomdownApproach 并将其分配给 op1,如果 n mod 3 等于 0,则递归调用 MinimumStepstoOneBottomdownApproach 并将其分配给 op2,否则将 n 减 1 并调用 MinimumStepstoOneBottomdownApproach。最后从 dp 数组返回该值时间复杂度 - O(N)空间复杂度 - O(N)示例public class DynamicProgramming{    public int ... 阅读更多

如何使用 C# 中的自顶向下方法实现最少步数到 1?

Nizamuddin Siddiqui
更新于 2021-08-17 08:19:00

117 次浏览

MinimumStepstoOneTopdownApproach 接收整数 n 和一个整数数组作为输入。参数 n 包含元素的总数。初始条件检查 n 是否等于 1。如果 n 等于 1,则返回 0。将 op1、op2 和 op3 初始化为最大值。如果 n mod 3 等于 0,则递归调用 MinimumStepstoOneTopdownApproach 并将其分配给 op1,如果 n mod 3 等于 0,则递归调用 MinimumStepstoOneTopdownApproach 并将其分配给 op2,否则将 n 减 1 并调用 MinimumStepstoOneTopdownApproach。最后调用 Math.Min 计算三个元素的最小值 ... 阅读更多

如何使用 C# 中的自底向上方法实现斐波那契数列?

Nizamuddin Siddiqui
更新于 2021-08-17 08:16:26

436 次浏览

斐波那契数列是一组数字,以 1 或 0 开头,然后是 1,并根据以下规则进行:每个数字(称为斐波那契数)等于前两个数字之和。自底向上方法首先专注于解决基础级别的较小问题,然后将其集成到完整和完整的解决方案中。时间复杂度 - O(N)空间复杂度 - O(N)示例public class DynamicProgramming{    public int fibonacciBottomupApproach(int n){       int[] dpArr = new int[150];       dpArr[1] = 1;       for (int i = 2; i

如何使用 C# 中的自顶向下方法实现斐波那契数列?

Nizamuddin Siddiqui
更新于 2021-08-17 08:13:23

691 次浏览

斐波那契数列是一组数字,以 1 或 0 开头,然后是 1,并根据以下规则进行:每个数字(称为斐波那契数)等于前两个数字之和。自顶向下方法专注于将一个大问题分解成更小、更容易理解的块。空间复杂度为 O(N),因为我们创建了一个额外的数组内存,其大小等于数字的大小。时间复杂度 - O(N)空间复杂度 - O(N)示例public class DynamicProgramming{    public int fibonacciTopdownApproach(int n, int[] dpArr ){       if(n==0 || n ... 阅读更多

如何使用 C# 查找数字数组中最长连续递增子序列的长度?

Nizamuddin Siddiqui
更新于 2021-08-17 08:12:06

779 次浏览

LongestIncreaingSubsequence 返回数组中连续子序列的整数。该方法有一个 for 循环,它迭代并跟踪数字。最终结果将包含计算出的 Max。时间复杂度为 O(N),因为每个元素都被访问一次,空间复杂度为 O(1),因为我们没有使用任何存储空间。时间复杂度 - O(N)空间复杂度 - O(1)示例   - {2, 4, 6, 5, 8}输出 - 3示例public class Arrays{    public int longestIncreaingSubsequence(int[] nums){       if (nums == null || nums.Length == 0){          return -1;     ... 阅读更多

如何使用 C# 查找给定字符串中不重复字符的最长子字符串的长度?

Nizamuddin Siddiqui
更新于 2021-08-17 08:08:45

1K+ 次浏览

从给定的字符串输入中,使用滑动窗口技术,使用 2 个指针 i 和 j。i 和 j 都将指向字符串中的相同字符。遍历字符串并将其添加到列表中。如果找到重复的字符,则将其从列表中删除,否则将其追加到列表中。示例 1输入 - s = "abcabcbb"输出 - 3解释 - 答案是 "abc",长度为 3。示例 2输入 - s = "bbbbb"输出 - 1解释 - 答案是 "b",长度为 1。时间复杂度 - O(N)空间复杂度 - O(N)示例public class Arrays{    public int LongestSubstringWithNoRepeatingCharacters(string s){   ... 阅读更多

如何使用 C# 检查给定的字符串是否同构?

Nizamuddin Siddiqui
更新于 2021-08-17 08:06:07

809 次浏览

如果字符串 X 和 Y 中每个字符的所有出现都可以替换为另一个字符以获得 Y,反之亦然,则称这两个字符串为同构。例如,考虑字符串 ACAB 和 XCXY。每个字符的所有出现都必须替换为另一个字符,同时保留字符的顺序。不能有两个字符映射到同一个字符,但一个字符可以映射到自身。示例 1输入 - s = "egg",t = "add"输出 - true示例 2输入 - s = "foo",t = "bar"输出 - false时间复杂度 - O(N)空间复杂度 - O(N)代码public class Arrays{    public bool IsStringIsomorphic(string s, string t){     ... 阅读更多

广告