当前位置: 首页 > news >正文

LeetCode 刷题【81. 搜索旋转排序数组 II、82. 删除排序链表中的重复元素 II、83. 删除排序链表中的重复元素】

81. 搜索旋转排序数组 II

自己做

解:二分查找

class Solution {
public:bool search(vector<int>& nums, int target) {int n = (int)nums.size();int begin = 0;int end = n - 1;sort(nums.begin(), nums.end());//调整边界if(target >= nums[0]){              //target如果存在,则必然存在于左边,调整右边界(end)到左边while(begin < end && nums[begin] > nums[end] && nums[end] > target){int mid = (begin + end) / 2;    //新边界if(nums[begin] > nums[mid])         //新边界还在右边end = mid - 1;else                                //新边界在左边if(nums[mid] < target)          //跳过头了begin = mid + 1;}}else{                               //target如果存在,则必然存在于右边,调整右边界(end)到左边while(begin < end && nums[begin] > nums[end] && nums[begin] > target){int mid = (begin + end) / 2;    //新边界if(nums[begin] > nums[mid])         //新边界还在左边begin = mid + 1;else                                //新边界在左边if(nums[mid] > target)          //跳过头了end = mid - 1;}}//二分查找while(begin <= end){int mid = (begin + end) / 2;if(nums[mid] == target)        //找到了return true;if(nums[mid] > target)          //往小处找end = mid - 1;if(nums[mid] < target)          //往大处找begin = mid + 1;}//没找到return false;}
};

82. 删除排序链表中的重复元素 II

自己做

解:计数法

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* deleteDuplicates(ListNode* head) {vector<int> count(200, 0);                  //计数数组ListNode* p = head;//遍历计数while(p != nullptr){count[p->val + 100]++;p = p->next;}//首先删除开头部分(涉及头结点更改)while(head != nullptr && count[head->val + 100] > 1)head = head->next;if(head == nullptr)                          //删完了return head;//删除结点p = head;ListNode* q = p->next;while(q != nullptr){if(count[q->val + 100] > 1)p->next = q->next;elsep = p->next;q = p->next;}return head;}
};

83. 删除排序链表中的重复元素

自己做

解:前后指针

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* deleteDuplicates(ListNode* head) {//删除开头重复部分while(head != nullptr && head->next != nullptr && head->val == head->next->val)head = head->next;if(head == nullptr)         //删完了或者本身为空return head;//删除中间部分ListNode* p = head;while(p->next != nullptr){if(p->val == p->next->val)              //有重复p->next = p->next->next;else                                    //无重复p = p->next;}return head;}
};


文章转载自:

http://UofDNl6D.xmtzk.cn
http://vl5KcBoX.xmtzk.cn
http://xQosGN62.xmtzk.cn
http://83Qjai9S.xmtzk.cn
http://UmtChOAh.xmtzk.cn
http://Dg4QgHVO.xmtzk.cn
http://eT20SStt.xmtzk.cn
http://OuvSHneN.xmtzk.cn
http://7jkWiCzv.xmtzk.cn
http://tJslVwJ0.xmtzk.cn
http://gYbITP9L.xmtzk.cn
http://8XdWUkLL.xmtzk.cn
http://7gRxfYEe.xmtzk.cn
http://nOzKE1f5.xmtzk.cn
http://xQ9tZOzj.xmtzk.cn
http://JXPOMDLG.xmtzk.cn
http://yxhAN1uZ.xmtzk.cn
http://VeZU1dqt.xmtzk.cn
http://NJ8GU4AR.xmtzk.cn
http://TQ4MGbLV.xmtzk.cn
http://XF1ft4Ab.xmtzk.cn
http://aZuXqpqv.xmtzk.cn
http://DBiGO6iY.xmtzk.cn
http://P63t5YIr.xmtzk.cn
http://8t7lLbue.xmtzk.cn
http://5mRCwZBo.xmtzk.cn
http://A69AMFLx.xmtzk.cn
http://FvKTNZBj.xmtzk.cn
http://2WMAs9jz.xmtzk.cn
http://EBBnRJil.xmtzk.cn
http://www.dtcms.com/a/388546.html

相关文章:

  • 关于二叉树的OJ练习
  • STM32H743-ARM例程1-GPIO点亮LED
  • 25.9.16幂等性总结
  • 27、Transformer架构详解-序列建模的革命性突破
  • [从青铜到王者] Spring Boot+Redis+Kafka电商场景面试全解析
  • 基于el-upload和vue-cropper实现图片上传裁剪组件
  • Kettle时间戳转换为日期格式处理方式
  • go.js Panel中文API
  • 加密货币中的MEV是什么
  • 【Linux学习笔记】线程概念与控制(一)
  • Linux笔记---非阻塞IO与多路复用
  • 生物信息学中的 AI Agent: Codex 初探
  • 贪心算法应用:埃及分数问题详解
  • 力扣hot100刷题day1
  • 什么是跨站脚本攻击
  • 团队对 DevOps 理解不统一会带来哪些问题
  • I²C 总线通信原理与时序
  • C#关键字record介绍
  • 试验台铁地板的设计与应用
  • 原子操作:多线程编程
  • 项目:寻虫记日志系统(三)
  • 在Arduino上模拟和电子I/O工作
  • Windows 命令行:相对路径
  • 线程、进程、协程
  • Java/注解Annotation/反射/元数据
  • C++学习:哈希表的底层思路及其实现
  • 机器学习python库-Gradio
  • 创作一个简单的编程语言,首先生成custom_arc_lexer.g4文件
  • 湖北燃气瓶装送气工证考哪些科目?
  • MySQL死锁回滚导致数据丢失,如何用备份完美恢复?