摘要:
这题是判断数组中是否存在三个递增的数。代码如下: END 阅读全文
摘要:
该题是要求出字符串中最长的递增子序列的长度。第一种方法的解决思路是动态规划,定义一个与输入数组等长的整型数组,用于记录在该位置前的最长递增子序列长度。 代码如下: 还有一个就是使用二分查找的方法。 代码如下: END 阅读全文
摘要:
该题是要将被X包围的O区域用X覆盖,处于边界的O区域不算是被X包围。 主要解决思路是遍历边框的的元素,如果是O,那么从该区域开始,进行深度遍历,将是O的区域改成Y,表示这个区域是没有被包围的。完成边框遍历后,剩下的O区域都是被X包围的了。对所有元素进行遍历,将O改成X, 将Y改回O即可。 代码如下: 阅读全文
摘要:
该题目要算出矩阵中有多少个数值为“1”的数据块。主要思路是对矩阵进行遍历,遇到“1”的元素的时候,对元素进行深度遍历,并将“1”元素改为非“1”。 代码如下: END 阅读全文
摘要:
如题,要求数组的全部汉明距离。首先想到的解决思路是通过两重循环的方法分别解出不同的两个整数之间的汉明距离,然后求出总和,但是最后发现这种方法会导致超时。最后看了网上的答案,主要思路是分别求出所有整数的每个位的总汉明距离,然后相加。 那么问题就在于如何求出每个位的总汉明距离,方法分两步: 1、求出该位 阅读全文
摘要:
该题目是求两个数之间的汉明距离,也就是两个数的二进制数中的位数不一样的个数。可以使用两个数组分别保存两个参数的二进制数,也可以使用异或操作,代码如下: END 阅读全文
摘要:
该题解决方法是排序,我们只需要对两个数的对比方法进行改写就好了。改写思路为两个字符串 a 和 b, 如果 a + b 小于 b + a, 那么就交换位置。 代码如下: END 阅读全文
摘要:
该题要使用动态规划,参考了链接: https://blog.csdn.net/happyaaaaaaaaaaa/article/details/50976088 中的第二种方法,主要思路是用一个数组dp来存储硬币的数量,例如数组中第 i 个元素就保存达到目标金额为 i 的最少硬币数,凑齐钱数amou 阅读全文
摘要:
该题要根据中缀表达式算出结果。这题参考了链接: https://blog.csdn.net/tc_to_top/article/details/52348800 的方法2编写的,主要思路是递归。 代码如下: END 阅读全文
摘要:
主要思路是使用堆栈去解决问题,当判断是整数的时候入栈,当是运算符的时候,将堆栈前两个数字弹出并进行运算。 代码如下: END 阅读全文