![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leecode
Jan___
这个作者很懒,什么都没留下…
展开
-
(动态规划)01背包
分割等和子集给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集....原创 2020-09-06 13:11:52 · 293 阅读 · 0 评论 -
牛客编程入门第1题
一直以来都有一个疑惑,在牛客上编程,要不要写main函数?输入输出怎么处理?偶尔看到一个编程题,刚好可以当做参考!题目:编写函数reverse,将val(32位无符号整数)的二进制位反序。比如,如果val的二进制表示为1011000011111111,反序后val的二进制表示为1111111100001101。输入描述:16进制的一个无符号整数,例0xff输出描述:16进制的一个无符号整数,例0xff#include <stdio.h>#include <string.h&原创 2020-06-20 11:18:44 · 368 阅读 · 0 评论 -
(优先队列)23. 合并K个排序链表
21.合并2个排序链表在解决「合并K个排序链表」这个问题之前,我们先来看一个更简单的问题:如何合并两个有序链表?假设链表 a 和 b 的长度都是 n,如何在 O(n) 的时间代价以及 O(1) 的空间代价完成合并?这个问题在面试中常常出现,为了达到空间代价是 O(1),我们的宗旨是「原地调整链表元素的 next 指针完成合并」。class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {原创 2020-05-09 20:56:30 · 187 阅读 · 0 评论 -
105. 从前序与中序遍历序列构造二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 限制:0 <= 节点个数 &...原创 2020-05-07 21:13:04 · 195 阅读 · 0 评论 -
(动态规划)10. 正则表达式匹配
class Solution {public: bool isMatch(string s,string p){ if (s.size() == 0 && p.size() == 0) { return true; // 两个空字符串能够匹配 } else if ( p.size() == 0){ ...原创 2020-05-06 15:10:56 · 508 阅读 · 0 评论 -
7.整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123 输出: 321 示例 2:输入: -123 输出: -321 示例 3:输入: 120 输出: 21 注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。怎么判断十进制的位数?...原创 2020-05-04 20:42:13 · 111 阅读 · 0 评论 -
6. Z 字形变换
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:s...原创 2020-05-04 18:31:15 · 167 阅读 · 0 评论 -
(动态规划)最长回文子串
最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd” 输出: “bb”1、暴力法暴力法将遍历子串集合,判断每个子串是否回文。复杂度分析时间复杂度:O(N3),对于长度N的字符串,其子串总数是N(N-...原创 2020-05-04 14:54:05 · 582 阅读 · 0 评论 -
二分搜索--寻找两个有序数组的中位数
一、二分搜索顾名思义,二分搜索就是将1个区间分割成2个区间,再对这2个区间进行计算。常见的二分搜索区间是左闭右开的形式,nums[0:length)1.1、算法框架int binarySearch(vector<int> nums, int target) { int left = 0, right = nums.size(); while(left < ...原创 2020-05-02 16:44:36 · 691 阅读 · 0 评论 -
(滑动窗口)最长无重复字符串的长度
3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3: 输入: “pwwkew” 输出: 3 解释: 因...原创 2020-05-01 21:29:46 · 184 阅读 · 0 评论 -
两数之和
leetcode 1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1...原创 2020-04-28 11:15:09 · 218 阅读 · 0 评论 -
练习:leecode1.15.18
哈希表法,双指针夹逼法def twoSum(nums, target): hashmap = {} ret = [] l = len(nums) target = 0 nums.sort() for i, a in enumerate(nums[:]): if i < l-1 and nums[i] == nums[i+1]:...原创 2020-03-15 14:58:10 · 85 阅读 · 0 评论 -
股票买卖-动态规划
T121,k=1class Solution(object): def maxProfit(self, prices): """ :type prices: List[int] :rtype: int """ n = len(prices) if n < 2: ...原创 2020-03-21 14:04:32 · 186 阅读 · 0 评论