查找中间元素(最小元素)的索引,基于以下条件对子数组应用二分搜索 -如果数字介于起始元素和位于 mid1 位置的元素之间。然后使用二分搜索在 mid-1 开始的数组中查找数字否则如果数字位于 mid 和最后一个元素之间,则使用二分搜索在 mid 到最后一个元素的数组中查找数字。示例 实时演示使用 System.Collections.Generic; using System.Text; using System.Linq; namespace ConsoleApplication{ public class Arrays{ public int FindNumberRotated(int[] array, int start, int end, int value){ if (start > end){ return ... 阅读更多
创建一个回溯函数,如果打开括号少于 n 或关闭括号少于打开括号,则更新当前字符串。当当前字符串的长度等于 2*n 时,将其添加到组合结果数组。只需通过保留已放置的 { } 的数量即可轻松跟踪。如果我们还有剩下的,我们可以开始一个打开括号。如果它不会超过打开括号的数量,我们可以开始一个关闭括号。示例 实时演示使用 System.Collections.Generic; using System.Text; using System.Linq; namespace ConsoleApplication{ public class BackTracking{ ... 阅读更多
找到第一个位置的字符,并用第一个字符交换其他字符。例如 ABC,首次迭代可得到三个字符串:ABC、BAC 和 CBA,分别是将 A 分别与 A、B 和 C 交换。对剩余字符执行步骤,例如固定第二个字符 B 等。现在再次交换以返回到先前位置。对于 ABC,我们再次固定 B 形成 ABC,回溯到前一位置,并将 B 与 C 交换。因此,现在我们得到了 ABC 和 ACB。示例和演示系统;命名空间 ConsoleApplication{... 阅读更多