剑指offer刷题记录
文章平均质量分 73
java版 剑指offer刷题记录
小鲨鱼冲冲冲
这个作者很懒,什么都没留下…
展开
-
【剑指offer刷题记录 java版】链表双指针
利用虚拟头节点可以简化链表的创建,创建时始终记得要有一个指针。链表的增删改可以通过虚拟头节点来统一。合并 k 个有序链表可以利用优先级队列来实现,流程是:先将所有链表的头节点传入优先级队列,没弹出一个就补上该链表的下一个元素,直至满足输出需求。原创 2023-06-29 10:54:58 · 179 阅读 · 0 评论 -
【剑指offer刷题记录 java版】数组双指针 之 其它题目
/判断字符是否是字母和数字 Character . isLetterOrDigit(c) //字符转化成小写 Character . toLowerCase(c) //反转字符串 stringbuilder . reverse()原创 2023-06-24 21:44:07 · 657 阅读 · 0 评论 -
【剑指offer刷题记录 java版】数组双指针 之 滑动窗口
滑动窗口要先扩张后收缩,即先移动右边指针,再移动左边指针。固定大小的窗口使用for循环遍历,窗口大小不固定时使用while遍历。原创 2023-06-16 10:46:22 · 187 阅读 · 1 评论 -
【剑指offer刷题记录 java版】数组双指针 之 二分搜索
二分查找建立在有序的和基础上,复杂度是O( log(n) )。原创 2023-06-13 11:57:01 · 389 阅读 · 0 评论 -
【剑指offer刷题记录 java版】1、数组中重复的数字
从头到尾依次扫描这个数字中的每个数字,当扫描到下标为i的数字,首先比较这个数字(用m表示)是不是等于i,如果是,则继续扫描下一个,如果不是,就就拿它和第m个数字比较,如果它和第m个数字相等,就找到了一个重复的数字;如果不相等,就把第i个数字与第m个数字交换,把m放到属于它的位置,接下来再重复这个比较,交换的过程,直到我们发现一个重复的数字。时间复杂度为O(n),空间复杂度为O(n)时间复杂度为O(n),空间复杂度为O(1)原创 2023-04-05 15:02:39 · 67 阅读 · 1 评论