创建一个查找幂的函数,该函数接收数字 x 和 n,其中 x 为 2,n 为我们需要进行幂运算的次数。如果数字为偶数,则需要执行 x*x,如果数字为奇数,则将结果乘以 x*x。继续递归调用,直到 n 变成 0。假设我们有一个数字 2 和 8,那么 2*2*2*2*2*2*2*2 =256。示例 在线演示使用 System; 命名空间 ConsoleApplication{ public class BackTracking{ public int FindPower(int x, int n){ int result; if ... 阅读更多
线性扫描二维网格图,如果节点包含“1”,则它是一个触发深度优先搜索的根节点。在 DFS 期间,每个访问过的节点都应设置为“0”以标记为已访问节点。计算触发 DFS 的根节点的数量,此数量将是岛屿的数量,因为每个从某个根节点开始的 DFS 都标识一个岛屿。示例 在线演示使用 System; 命名空间 ConsoleApplication{ public class Matrix{ public int PrintNumberOfIslands(char[, ] grid){ bool[, ] visited = new bool[grid.GetLength(0), grid.GetLength(1)]; int res = ... 阅读更多
要以螺旋顺序旋转矩阵,我们需要执行以下操作,直到覆盖所有内部矩阵和外部矩阵:步骤 1 - 移动顶行的元素步骤 2 - 移动最后一列的元素步骤 3 - 移动底行的元素步骤 4 - 移动第一列的元素步骤 5 - 对内部环重复上述步骤,直到存在内部矩阵示例 在线演示使用 System; 命名空间 ConsoleApplication{ public class Matrix{ public void PrintMatrixInSpiralOrder(int m, int n, int[, ] a){ int i, k = 0, l = 0; while (k < ... 阅读更多
我们可以简单地从第一个元素开始,并重复调用所有可从第一个元素到达的元素。到达末尾的最小跳跃次数可以通过计算从第一个元素可到达的元素到达末尾所需的最小跳跃次数来计算。数组 == {1, 3, 6, 3, 2, 3, 6, 8, 9, 5};所需的步数为 4示例 在线演示使用 System; 命名空间 ConsoleApplication{ public class Arrays{ public int MinJumps(int[] arr, int l, int h){ if (h == l) return 0; if (arr[l] == 0) return int.MaxValue; int min = int.MaxValue; for (int i = l + 1; i
如下所述有三种方法:在第一种方法中使用公式 n(n+1)/2 来计算元素的数量,然后需要从数组中的元素中减去。在第二种方法中创建一个新数组,遍历整个数组,并将找到的数字设为 false。在第三种方法中使用异或运算。它给出缺失的数字。示例 在线演示使用 System; 命名空间 ConsoleApplication{ public class Arrays{ public int MissingNumber1(int[] arr){ int totalcount = 0; for (int i = 0; i < arr.Length; i++){ ... 阅读更多