ICode9

精准搜索请尝试: 精确搜索
  • 【力扣】[热题 HOT100] 32.最长有效括号2021-03-25 23:02:29

    1.题目 给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 链接:https://leetcode-cn.com/problems/longest-valid-parentheses/   2.思路解析 栈(栈中放左括号的下标)先垫一个数字,防止字节出现右括号的情况,有数字可以出将遇到的左括号入栈,不

  • leetcode 无重复字符的最长子串2021-03-24 17:57:08

    leetcode 无重复字符的最长子串 题目描述: https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 解一:暴力搜索 从输入字符串s中找到所有子串,然后判断每个子串中有无重复字符,找到没有重复字符的最长子串。 def lengthOfLongestSubstring(self,s

  • 动态规划之最长上升子序列2021-03-20 20:34:06

    题目: 描述 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3,

  • Leetcode 3. Longest Substring Without Repeating Characters2021-03-19 20:29:43

    Given a string s, find the length of the longest substring without repeating characters. 题解: 初步想法是用一个map数组储存现在遍历的字符串里的字符,初定义maxlen=0,nowlen=0,然后从字符串最先开始遍历,每次遍历一个字符便开始判断是否map里它对应的值是0吗?若是,则令

  • NC127 最长公共子串2021-03-18 02:32:55

    题目描述 给定两个字符串str1和str2,输出两个字符串的最长公共子串 题目保证str1和str2的最长公共子串存在且唯一。 (子串意味着是连续的) 输入 "1AB2345CD","12345EF" 返回值 "2345" 动态规划法 先确定状态,f(i, j)表示str1中前i个字符和str2中前j个字符中的最长公共子序

  • 718. 最长重复子数组 + 动态规划 + 滑动窗口2021-03-14 22:34:42

    718. 最长重复子数组 LeetCode_718 题目描述 解法一:使用动态规划 首先需要说明的是,这题和最长公共子序列是不同的,子序列并没有要求说是连续的,而连续数组则要求是连续的。 首先定义dp[i][j]表示为A[i:]和B[j:]的最长公共前缀。 dp[i][j]可以从dp[i+1][j+1]转移而来。 class Solu

  • Let‘s Go Hiking2021-03-11 12:57:06

    题目链接:https://codeforces.com/contest/1496/problem/D 题意:一个大小为n的数组p,p[i]表示i的指标,现在A,B进行这样一个游戏,A先选定一个初始位置x,B再选定一个初始位置y,然后开始移动,移动规则如下: A: 选定x为A移动到的位置,则有x!=y,1=<x*<=n,|x-x*|=1,p[x*]<p[x] B: 选定y为B移动

  • 300. 最长递增子序列 + 动态规划 + 二分法优化2021-03-09 22:35:57

    300. 最长递增子序列 题目描述 方法一:动态规划 class Solution { public int lengthOfLIS(int[] nums) { int[] dp = new int[2501]; int n = nums.length; int maxlen = 0; for(int i=0; i<n; i++){ dp[i] = 1; fo

  • 【LeetCode-5】最长回文子串2021-03-09 12:32:21

    问题 给你一个字符串 s,找到 s 中最长的回文子串。 示例 输入: s = "babad" 输出: "bab" 解释: "aba" 同样是符合题意的答案。 解答:动态规划 class Solution { public: string longestPalindrome(string s) { int n = s.size(), maxLen = 0, start = 0; bool dp

  • LeetCode 354. 俄罗斯套娃信封问题2021-03-04 15:03:27

    题目描述 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)

  • LeetCode05 最长回文子串2021-02-22 23:29:37

    最长回文子串 给你一个字符串 s,找到 s 中最长的回文子串。 最长回文子串. 暴力解法 /** * 暴力解法 * @param s * @return */ public static String longestPalindrome(String s) { if (s.length()<2){ return s;

  • 1438. Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit2021-02-21 23:34:07

    仅供自己学习   也是一种滑动窗口的思想,而左指针右移的条件是子串最大值与最小值之差 > limit时就将left相加。而主要的时间消耗是寻找字串的最大值和最小值,需要一个合适的数据结构。这里用的一个multiset,基于红黑树的平衡搜索二叉树,是可以存放重复的元素的从小到大排列的序列。

  • 求最长上升子序列的长度(动态规划)2021-02-21 18:31:20

    #include<bits/stdc++.h> using namespace std; // 时间复杂度o(n^2) int a[555]; int maxLen[555]; int main() { int n; cin>>n; // 输入元素个数 for(int i=1;i<=n;i++) { cin>>a[i]; // 输入任意序列 maxLen[i]=1; // 以每个位置为终点的最长上升子序列长度

  • HDU1025-最长上升子序列(LIS)模板题+O(nlogn)二分查找优化2021-02-20 18:32:44

    题目链接 题目大意:在两条平行线间连点,要在线不交叉的前提下尽可能多的连线,问最多能连多少条线。 这题是最长上升子序列(LIS)模板题,我们先给出最基础的 O ( n

  • 1004. Max Consecutive Ones III2021-02-19 19:32:59

    仅供自己学习 思路: 又是滑动窗口的问题,只要right右移遇到0时就 count+1,当count+1> K时,就将left右移,当left遇到0时,就将count-1,当count=K时 left和right指向同一个位置,此时right再次右移重复上述步骤,直到right=A.size-1. 代码: 1 class Solution { 2 public: 3 int longestOn

  • 大数相加2021-02-14 18:34:03

    /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算两个数之和 * @param s string字符串 表示第一个整数 * @param t string字符串 表示第二个整数 * @return string字符串 */ function solve( s , t ) { // write code here

  • CF982D 鲨鱼2021-02-13 12:36:34

    1 CF982D 鲨鱼 题目链接:https://codeforces.com/problemset/problem/982/d 2 题目描述 时间限制 \(1s\) | 空间限制 \(256M\) 长期以来,科学家一直在研究鲨鱼的行为。鲨鱼和其他许多物种一样,有两种行为模式,要么在特定地点附近活动,要么在不同的地点之间做长距离活动。 \(Max\)

  • 978. 最长湍流子数组2021-02-08 09:33:58

    当 A 的子数组 A[i], A[i+1], ..., A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1]; 或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。 也就是说,如果比较符号在

  • 刷题-力扣-4242021-02-02 19:02:50

    424. 替换后的最长重复字符 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-repeating-character-replacement/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目描述 给你一个仅由大写英文字母组成的字符串,你可以将任意位置

  • leetcode小白刷题之旅----674. Longest Continuous Increasing Subsequence2021-01-24 12:01:59

    仅供自己学习   题目: Given an unsorted array of integers nums, return the length of the longest continuous increasing subsequence (i.e. subarray). The subsequence must be strictly increasing. A continuous increasing subsequence is defined by two indices l and

  • leetcode小白刷题之旅----3. Longest Substring Without Repeating Characters2021-01-23 23:04:04

    仅供自己学习,有借鉴成分。   题目: Given a string s, find the length of the longest substring without repeating characters.   思路: 1.下意识想到暴力是可以求解的,把所有无重复字母子串记录下来再来比较。但从每个字母开始遍历则总RT为O(n^2) 2.除了暴力后,自己在想的方法都很

  • 1658. Minimum Operations to Reduce X to Zero (M)2021-01-14 21:35:40

    Minimum Operations to Reduce X to Zero (M) 题目 You are given an integer array nums and an integer x. In one operation, you can either remove the leftmost or the rightmost element from the array nums and subtract its value from x. Note that this modifies th

  • 622. 设计循环队列2021-01-05 18:00:05

    循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。 你的实现应该支持如下操作: MyCircularQueue(k): 构造器,设置队列长度为 k 。 F

  • CF 204 E2021-01-05 11:33:50

    CF 204 E 两个做法。 SAM+可持久化线段树合并+dp 首先SAM上线段树合并的套路应该是比较常规的了,由于线段树是一个DAG,然后利用线段树上的边来dp。 不过我还没写出来 SA+单调栈 可以发现每次包含的那k个在rank上一定是比较靠近的。 /* { ###################### # Author

  • 无重复字符的最长子串—leetcode32020-12-13 10:33:56

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有