07 2020 档案

摘要:####旅行商问题 求解从一点出发经过其它各点仅一次并回到出发点的最短路径 当n的个数不到时,可通过状压dp求解 ####状态压缩 将每个点是否访问过编码为0或1,那么当n=4时,访问所有点后的状态为1111,初始时状态为0001。 达到每个状态的最后一步可能是从第1,2,3,4个位置转移过来的,因 阅读全文
posted @ 2020-07-29 15:46 blueattack 阅读(740) 评论(0) 推荐(1)
摘要:####题意 行程长度编码 是一种常用的字符串压缩方法,它将连续的相同字符(重复 2 次或更多次)替换为字符和表示字符计数的数字(行程长度)。例如,用此方法压缩字符串 "aabccc" ,将 "aa" 替换为 "a2" ,"ccc" 替换为` "c3" 。因此压缩后的字符串变为 "a2bc3" 。 阅读全文
posted @ 2020-07-27 20:38 blueattack 阅读(780) 评论(0) 推荐(0)
摘要:####题意 区间和的个数 给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。 区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。 说明: 最直观的算法复杂度是 O(n2 阅读全文
posted @ 2020-07-22 12:24 blueattack 阅读(267) 评论(0) 推荐(0)
摘要:####题意 给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 ####题解 可以将数组nums中的数组先离散化、去重。用树状数组维护这些数字出现的次数,区间[0,l] 阅读全文
posted @ 2020-07-22 12:16 blueattack 阅读(169) 评论(0) 推荐(0)
摘要:####题目大意 寻找数组arr的区间l和r,使[l,r]区间内的数&后与target的差值的绝对值最小 ####思路 有一个很重要的推论就是&运算具有单调递减性,也就是ask(a,r+1)<=ask(l,r)<=ask(l+1,r)。因此我们可以通过滑动数组,当前区间结果>target时,r++; 阅读全文
posted @ 2020-07-19 17:27 blueattack 阅读(382) 评论(0) 推荐(0)
摘要:###最多 K 次交换相邻数位后得到的最小整数 题目大意: 给你一个字符串 num 和一个整数 k 。其中,num 表示一个很大的整数,字符串中的每个字符依次对应整数上的各个 数位 。 你可以交换这个整数相邻数位的数字 最多 k 次。 请你返回你能得到的最小整数,并以字符串形式返回。 ####题解 阅读全文
posted @ 2020-07-10 21:50 blueattack 阅读(236) 评论(0) 推荐(0)