摘要:
题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007。 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,s 阅读全文
摘要:
题目描述: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 解题思路: 1. 常规思路,从1开始到index判断每个数是否是丑数,但这样时间上肯定过不了,因为存在重 阅读全文
摘要:
题目描述: https://leetcode-cn.com/problems/perfect-squares/ 解题思路: 同样是dp,一开始的想法是,对于每个数i做拆分为j和(i-j),利用动态转移方程dp[i]=min(dp[i], dp[j]+dp[i-j])。由于对于一个整数的拆分是从1到i 阅读全文
摘要:
题目描述: https://leetcode-cn.com/problems/minimum-ascii-delete-sum-for-two-strings/ 解题思路: 也是典型的dp问题。利用二维dp数组求解。 建立一个二维数组Dp[ i ][ j ],Dp[ i ][ j ]表示从s1中拿出 阅读全文
摘要:
题目描述: https://leetcode-cn.com/problems/shopping-offers/ 解题思路: 这类求最大最小的问题首先想到的就是用DP求解。 这题还用到了递归,首先计算单买商品,不购买大礼包的价格最为初始最小价值。 再利用循环计算包含每一个大礼包时的最小价值。需要递归计 阅读全文
摘要:
题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 解题思路: 思路一: 阅读全文
摘要:
题目描述: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15, 阅读全文
摘要:
题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 解题思路: 这题需要用分治思想,递归解决。 把一个字符串看成两部分组成:第一部分为第一个字符,第二部 阅读全文
摘要:
题目描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 解题思路: 注意题目中括号里的话,直接返回输入的函数的参数,是会被判空的 阅读全文
摘要:
这是在面试常遇到的topk问题。 题目描述: 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 解题思路: 思路一:用快排对数组做一次排序,输出前k个。这种方法会改变原数组排列,复杂度为O(nlogn)。 思路二:基于part 阅读全文