411 次浏览
在这个问题中,我们需要将二进制字符串转换为字符字符串。我们可以先将二进制字符串转换为ASCII数字字符串,然后转换为字符字符串。问题陈述——我们给定一个大小为8的倍数的二进制字符串bin_str。我们需要将二进制字符串转换为字符字符串。示例输入 bin_str = "0110110001101010" 输出 'lj' 解释——'01101100' 等于十进制的 108,相当于 'l' 的ASCII值。'01101010' 等于 106,并且... 阅读更多
75 次浏览
在这个问题中,我们将计算需要插入的最小字符数以移除所有相邻的重复字符。要解决这个问题,我们需要计算相邻重复字符对的总数。问题陈述——我们给定一个名为str的字符串,其中包含N个字母字符。我们需要找到我们需要添加到字符串中的不同字符的总数,以便生成的字符串不包含任何相邻的重复字符。示例输入 str = "ccddrt" 输出 2 解释——我们需要插入一个字符... 阅读更多
87 次浏览
在这个问题中,我们需要找到到达给定字符串中最大和最小字符所需的最小跳跃次数。我们可以一步跳到下一个或上一个字符。我们可以通过找到给定字符串中按字典序最大和最小字符的位置来解决这个问题。之后,我们可以找到从左右两侧到找到的索引所需的最小跳跃次数。问题陈述——我们有一个长度为N的字符串str,其中包含大写的字母字符。我们需要找到最小数量... 阅读更多
102 次浏览
在这个问题中,我们需要找到最小的子字符串,以便我们可以替换其字符并将每个字符的频率设为给定字符串中的 N/3。我们可以使用滑动窗口技术来解决这个问题。我们可以找到包含所有多余字符的最小窗口大小,这将是问题的答案。问题陈述——我们给定一个字符串 alpha。alpha 的大小是 N,它总是能被 3 整除。给定的任务是找到子字符串的最小长度,以便... 阅读更多
74 次浏览
在这个问题中,我们需要确定使字符串的左旋和右旋相同的最小成本。以下是我们将用来解决问题的观察结果。对于奇数长度的字符串,所有字符都应相等,才能使左旋和右旋相同。偶数长度的字符串应在偶数和奇数索引处具有相同的字符。问题陈述——我们有一个大小为 N 的字符串,其中包含不同的字符。我们需要确定使给定字符串的左旋和右旋相同的最小成本... 阅读更多
83 次浏览
在这个问题中,我们需要更改给定字符串中的最小字符数,以使其左旋和右旋相同。在字符串中,我们可以观察到,只有当字符串的长度为奇数且所有字符都相同,或者字符串的长度为偶数且偶数和奇数索引处的字符相同,我们才能使字符串的左旋和右旋相同。例如,abab——字符串的左旋和右旋分别是 baba 和 baba。aaa——字符串的左旋和右旋分别是 aaa 和 aaa。... 阅读更多
127 次浏览
在这个问题中,我们将编写 Java 代码来查找在任何字符串旋转的开头和结尾处连续出现的零的最大和。首先,我们将使用一种简单的算法来解决这个问题,该算法生成二进制字符串的所有旋转并计算开头和结尾连续出现的零。之后,我们将学习一种优化的算法来计算连续出现的零的最大值。问题陈述——这里,我们有一个大小为 N 的字符串,其中只包含 0 和 1 字符。我们需要找到在任何... 阅读更多
126 次浏览
在这个问题中,我们将学习如何实现展开链表。展开链表是链表的一个特殊版本。普通的链表在一个节点中只包含一个元素,但展开链表在每个节点中包含一组元素。此外,展开链表中的插入、删除和遍历与典型的链表的工作方式相同。线性搜索在数组中的速度比在链表中快。因此,我们可以将元素添加到数组中,并将数组添加到链表的每个节点中。此外,... 阅读更多
79 次浏览
在这个问题中,我们需要实现 Vizing 定理。Vizing 定理用于图。定理陈述 - 对于任何无向图 G,色指数的值等于 d 或 d + 1,其中 d 是图的最大度数。任何顶点的度数是进入或传出的边的总数。问题陈述 - 我们给定一个图,需要实现 Vizing 定理来查找图的色指数。注意 - 色指数是一个正整数,需要... 阅读更多
153 次浏览
当我们需要乘以大十进制数时,Schonhage-Strassen 算法非常有用。由于 Java 支持 1018 大小的整数,如果我们需要乘以超过 1018 的位数,则需要使用 Schonhage-Strassen 算法,因为它是最快的乘法算法之一。它使用两个数字乘法的基本规则。它首先执行线性卷积,然后执行进位以获得最终结果。问题陈述 - 我们给定 mul1 和 mul2 两个大十进制数,需要实现 Schonhage-Strassen 算法来乘以这两个数... 阅读更多