704.二分查找 ·这是三个数的故事 left,middle,right 题目链接:https://leetcode.cn/problems/binary-search/ 前提:数组有序  小->大   数组无重复数   使用语言:c 寻找目标:target 思考路线:l--m--r     m找target     大小决定m     向左or向右 方法一:左闭右闭式[l,r]    时间复杂度O(log(n));    空间复杂度O(1); classSolution{ public: intsearch(vector<int>&nums,inttarge...

  BnoLA4GOpmVr   2023年11月01日   89   0   0 算法与数据结构

977、有序数组的平方 ·双指针思想 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 前提:按非递减顺序排序的整数数组   (存在重复值)   可能存在负数 思路:负数平方后,数组元素大小会变成两头大中间小。   适合双指针进行比较两头大小   数组从尾巴开始排起比较方便 方法:双指针法   时间复杂度O(n);   空间复杂度O(n); classSolution{ public: vector<int>sortedSquares(vector<int>&nums){ intt=...

  BnoLA4GOpmVr   2023年11月01日   74   0   0 算法与数据结构

203、移除链表元素 ·虚拟头节点 题目链接:https://leetcode.cn/problems/remove-linked-list-elements/ 思路:链表遍历   |c->next!=NULL   删除节点   |c->next=c->next->next;   c手动释放内存 代码实现:     时间复杂度O(n);     空间复杂度O(1); / Definitionforsingly-linkedlist. structListNode{ intval; ListNodenext; ListNode():val(0),next(nullp...

  BnoLA4GOpmVr   2023年11月01日   56   0   0 算法与数据结构

24、两两交换链表中的节点 ·模拟节点交换 题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/ 思路:循环中两两交换   手写模拟一下交换的过程就比较容易了   下图是我写的模拟过程:  代码实现:中规中矩地模拟就完事     时间复杂度O(n)     空间复杂度O(1) / Definitionforsingly-linkedlist. structListNode{ intval; ListNodenext; ListNode():val(0),next(nullptr){} ListNode(intx):val(x),n...

  BnoLA4GOpmVr   2023年11月01日   88   0   0 算法与数据结构

(day5休息调整->day6) day6  主要内容:哈希表 哈希表是根据关键码的值而直接进行访问的数据结构。有数组、set(集合)、map(映射)三种数据结构 哈希表用来快速判断一个元素是否出现在集合里。 242、有效的字母异位词 ·数组哈希表 用数组--就完事 题目链接:https://leetcode.cn/problems/valid-anagram/ 思路:数组哈希表存放26个字母的出现次数   数组下标为[字符串-‘a']   第一串字符对应的数组值   第二串字符对应的数组值-   若有数组值不为0则不是字母异位词 代码实现:数组哈希表 ...

  BnoLA4GOpmVr   2023年11月01日   76   0   0 算法与数据结构

454、四数相加Ⅱ ·map哈希表 当初不知四数相加的好,做完四数之和发现oh这题真简单 题目链接:https://leetcode.cn/problems/4sum-ii/ 前提:计算四个数组中多少个元组满足条件(值可以重复) 思路:四个数组分别两两相加|时间复杂度O(n^2)   前两个数组相加的值作为map的键   map中查找等于(0-后两个数组相加的值)的键   找到则+该键值(这个值可能大于一) 代码实现:unordered_map哈希表     时间复杂度O(n^2)     空间复杂度O(n) classSolution{ public: intfourSumCount(...

  BnoLA4GOpmVr   2023年11月01日   95   0   0 算法与数据结构

344、反转字符串 ·两两交换 给字符串翻个面doge 题目链接:https://leetcode.cn/problems/reverse-string/submissions/ 思路:首尾交换 代码实现:     时间复杂度O(n)     空间复杂度O(1) classSolution{ public: voidreverseString(vector<char>&s){ for(inti=0;i<s.size()/2;i){ swap(s[i],s[s.size()-i-1]); } } }; 异或运算实现数组交换: classSolution{ pub...

  BnoLA4GOpmVr   2023年11月01日   367   0   0 算法与数据结构
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~