剑指 Offer II
迪丽克垒
这个作者很懒,什么都没留下…
展开
-
LeetCode 剑指 Offer II 070. 排序数组中只出现一次的数字
思路使用二分法找到只出现一次的数字根据题目可以知道,数组中始终存在奇数个数字。也就是说,按照二分法,只出现一次的数字肯定出现在right-left为偶数的一边(也可用right+left为偶数进行判断)。因为 [left, right] 区间的数字个数为right-left+1个,如果right-left 为偶数,则+1后区间共有奇数个数,则这个数字必定在这个奇数个数的区间内。终止条件left == right当前数字和左右相邻数字都不相等JAVA实现class Solution {原创 2021-09-27 11:11:51 · 345 阅读 · 0 评论 -
LeetCode 剑指 Offer II 062. 实现前缀树
思路在前缀树的每一个节点中,需要存储多个子节点信息和当前节点是否是word的终止节点。存储子节点可以使用HashMap来实现。在insert算法中,需要循环判断当前字符是否在前缀树中出现,如果出现则继续判断下一个字符,否则创建一个新节点并存储后继续判断下一个字符。在字符串最后一个字符的节点处设置为终止节点。在search算法中,与insert算法思路一致,循环找字符串中的每一个字符,但是如果没找到下一个节点则直接没找到。在成功遍历完所有节点后,再判断最后的节点是否是终止节点。在startWith算原创 2021-09-26 23:33:36 · 313 阅读 · 0 评论