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 次查看
Schönhage-Strassen 算法在需要乘以大型十进制数时非常有用。由于 Java 支持 1018 大小的整数,如果需要乘以超过 1018 位数的数字,则需要使用 Schönhage-Strassen 算法,因为它是最快的乘法算法之一。它使用两个数相乘的基本规则。它首先执行线性卷积,然后执行进位以获得最终结果。问题陈述 - 我们给出了两个大型十进制数 mul1 和 mul2,需要实现 Schönhage-Strassen 算法来进行相乘……阅读更多