记录下 作为测试人员写的2个逻辑BUG。明明是找BUG的人 却在写BUG的路上开始~~~放飞自我,嚎啕哭泣,经历写出来与君共勉之
问题1:给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。 返回 A 的任意排列,使其相对于 B 的优势最大化。
示例 :
输入:A = [2,7,11,15], B = [1,10,4,11]
输出:[2,11,7,15]
解题思路:我是想复制A和B这两个数组,对数组进行排序,既然A的数据做完之后都比肯定比B大,这样排序之后,拿到B的排序后的元素和排序前的元素进行对比,找到位置,这样排序后的A 这个元素放在这个位置应该是木问题的
上代码
BUG,在两个数组是这样的时候A = [12,24,8,32], B = [13,25,32,11],这样其实就应该按照田忌赛马的原理进行了,上个解法仅适用于,A的数组的元素 不存在小于B的元素的情况下可行
题目2:给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。
假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词
String[] words = { "cat","bt","hat","tree"};
String chars = "atach";
解题思路:判断words 里的每个元素拿到之后 逐一和chars进行确认是不是存在,如果不存在的话返回一个长度,用总长度 减去不存在的长度,就是存在的长度
BUG:就是假如 用tree 去目标池 tre进行匹配会按照匹配到算,但是并不是真正的匹配
对于这个修改方案可以让匹配完之后目标池对相应元素删除,再匹配剩下的,测试之路一路走来阅进BUG无数,好吧,今天自己也贡献两个BUG