杂题
dezhonger
这个作者很懒,什么都没留下…
展开
-
Leetcode493 Reverse Pairs
求逆序对的问题可以采用归并排序或者BIT数据结构进行求解,这里给出归并排序的做法,核心是在递归的时候,使用双指针维护左边i和右边j的位置,保证j是最小的a[i] <= 2 * a[j], 那么所有小于j的下标都是对答案的贡献 红色即为贡献 class Solution { public: vector<int> w; int reversePairs(vector<int>& nums) { return merge(nums,.原创 2021-02-23 00:00:12 · 72 阅读 · 0 评论 -
Leetcode1247
只有对应位置是 x y 或者 y x 的时候需要考虑交换 记第一种类型的个数为t1, 第二种为t2 xxxx yyyy 我们可以交换两次得到 yyxx yyxx 第二种类型的同理, 如果两种类型的个数都是奇数的话会多出来一个 xy yx 需要再交换两次, 如果一个奇数一个偶数,那么无解。 public int minimumSwap(S...原创 2020-01-29 23:08:00 · 423 阅读 · 0 评论 -
Leetcode777
给出两个字符串start和end,只有'L'、'R' 、'X'三种字符,可以对start字符串进行两种操作 XL -> LX RX -> XR 问是否可以把start变为end sol: 注意到 1、去除掉所有的x后,start和end应该是相同的。 2、在遍历两个字符串的时候,因为我们只能对start操作,所以出现start中L对应的索引要比end中对应的L...原创 2020-01-29 18:48:51 · 148 阅读 · 0 评论 -
Leetcode838
一行多米诺骨牌,给定每个牌往左倒或者往右倒,求最后每个骨牌的倒下方向。 思路: 注意到一个骨牌的最终方向取决于它左边和它右边骨牌的方向,具体而言,以下情况: 如果两边都是同一方向,那么中间的骨牌也会倒向这个方向 L...L: LLLLL R...R: RRRRR 如果是在L和R之间,那么中间的骨牌不会受到外力,依然保持平航 L...R: 结果为L...R, 中间三个是平...原创 2020-01-29 00:46:18 · 218 阅读 · 0 评论 -
Leetcode880
占坑原创 2019-12-20 16:14:00 · 109 阅读 · 0 评论