- 博客(27)
- 收藏
- 关注
原创 PAT--1106 Lowest Price in Supply Chain
PAT--1106 Lowest Price in Supply Chain
2022-05-02 20:47:57
135
原创 LeetCode-32.最长有效括号
32.最长有效括号 (很好,不愧为困难) 题目描述 给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 32.最长有效括号 学习代码 1.栈 先将-1压入栈,保持栈底为最后一个未被匹配的最后一个右括号(太绝了太绝了) 遍历字符串,如果为"(",则入栈; 为")",则出栈:若此时栈为空,则把栈底的右括号下标弹出了,表示该右括号未被匹配,将该右括号下标入栈; 栈不空,则有左括号匹配,i-stk.top()与max_len比较 class Solution
2022-04-17 11:38:59
507
原创 LeetCode-20.有效的括号
20.有效的括号 (今天看栈啦啦啦啦啦啦) 题目描述 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 20.有效的括号 代码 开始用栈不太知道怎么用,直接参考啦(自己又写了一遍) class Solution { public: bool isValid(string s) { //遇到左括号入栈,遇到右括号时,将栈顶元素弹出
2022-04-16 11:37:30
311
2
原创 LeetCode-21.合并两个有序链表
21.合并两个有序链表 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 21.合并两个有序链表 代码 比较经典的链表问题(直接上代码哈哈) class Solution { public: ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) { ListNode head; ListNode *p , *q; p
2022-04-15 17:00:40
503
1
原创 LeetCode-19.删除链表的倒数第N个节点
19.删除链表的倒数第N个节点 (随便叨叨:又开始看数据结构啦,看完了链表,来做几个题) 题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 19.删除链表的倒数第N个节点 常规思路(就是我这普通人的思路) 先求出链表长度,使指针指到倒数n+1(正数length - n )个节点,然后链表删除操作啦,p->next = p->next->next 代码 class Solution { public: ListNode* removeN
2022-04-15 15:37:14
774
原创 LeetCode-5.最长回文子串
5.最长回文子串 题目描述 给你一个字符串 s,找到 s 中最长的回文子串。 5.最长回文子串 家人们直接学习代码了,孩子不会 学习代码 中心拓展 参考代码链接 遍历字符串每个字符,以该字符为中心向左右拓展,寻找以该字符为中心的回文串 class Solution { public: string longestPalindrome(string s) { //中心拓展 int max_len = -1; int left = 0;
2022-04-13 16:11:54
173
2
原创 LeetCode-4.寻找两个正序数组的中位数
4.寻找两个正序数组的中位数 题目描述 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。 4.寻找两个正序数组的中位数 思路 首先应该可以想到的是将两个数组合并为一个数组,再取中位数。但时间复杂度是O(m+n)。 class Solution { public: double findMedianSortedArrays(vector<int>
2022-04-12 17:19:23
276
原创 LeetCode-3.无重复字符的最长字串
3.无重复字符的最长字串 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 3.无重复字符的最长字串 简直不能直视的做法(自己写的- -) class Solution { public: int lengthOfLongestSubstring(string s) { map<char,int> mp; int max_len = 0; int left = 0 , right = 0;//左右
2022-04-11 21:50:20
538
原创 LeetCode-2.两数相加
2.两数相加 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。 2.两数相加 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {}
2022-04-11 21:07:47
208
1
原创 LeetCode-1.两数之和
1.两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 1.两数之和 最简单暴力解法(我可以写出来的- -) class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> re; f
2022-04-11 20:19:00
58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅