LeetCode_Hot100_Part15 1.分割等和子集思路:两步走,第一步:计算和,如果是奇数直接不行,如果是偶数的话则第二步。第二步:将总和/2当做背包的体积,进行一次01背包。选or不选。 参考:LeetCode 416. 分割等和子集classSolution{public:boolcanPartition(vector<int… ...
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。 class Solution: def lengthOfLongestSubstring(self, s: str) -> int: hashmap = dict() left = 0 right = 0 ans = 0 while right < len(s):#滑动右指针 hashmap[s[right]] = hashmap.get(s[right],0)+1 while hashmap[...
Leetcode C++《热题 Hot 100-13》234.回文链表 题目 翻转一棵二叉树。 请判断一个链表是否为回文链表。示例1:输入: 1->2 输出: false 示例2:输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?来源:力扣(LeetCode) 链接:https://leetcode-cn.com/...
LeetCode Hot100(5-10) 5. 最长回文子串 给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 输入:s = “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 提示: 1 <= s.length <= 1000 s 仅由数字和英文字母(大写和/或小写)组成 My Answer: 6. Z 字形变换 将一......
= 0: return False mp = {"}":"{", ")":"(", "]":"["} st = [] for c in s: if c not in mp: # c是左括号 st.append(c) elif not st or st.pop() != mp[c]: # c是右括号 return False # 没有左括号,或右括号不匹配 return not st # 所有左括号必须匹配完毕,检查左括号...
【 LeetCode 热题 HOT 100】2. 两数相加 (C++ 链表 模拟) 题意: 给出两个非空的链表,表示两个非负整数。求两数相加的和。答案也是链表形式。 数据范围: 思路: 由于题目的数据范围表明了每个链表的节点数在范围[1,100]内,也就是说对于C++来说,是无法用变量存储的,所以首先排除掉直接计算的可能。
LeetCode hot 100—环形链表 II 题目 给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。 如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。如果pos是-...
【Leetcode_Hot100】链表 160. 相交链表 方法一:模拟 依次判断两节点是否相同即可 public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode nodeA = headA; ListNode nodeB = headB; int lenA = 0, lenB = 0;...
给定一个字符串s,请你找出其中不含有重复字符的最长 子串的长度。 示例1: 输入:s = “abcabcbb” 输出:3 解释:因为无重复字符的最长子串是"abc",所以其长度为 3。 示例2: 输入:s = “bbbbb” 输出:1 解释:因为无重复字符的最长子串是"b",所以其长度为 1。
for(int i = 1; i <= 100; i++){ string s; getline(cin,s); cout<<"### "; printf("%03d: ",i); cout<<s<<"\n"; printf("```cpp\n\n```\n"); } return 0; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12...