
leetcode
elisabeth1994
认真对待每一件小事,一步一个脚印
展开
-
第一个不重复字符问题
问题描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).class Solution {public: int FirstNotRepeatingChar(string str) { if(str.empty()) return -1; u...原创 2019-12-28 15:01:44 · 204 阅读 · 1 评论 -
最长公共子串以及子序列问题
写一个最长公共子串(子串要求连续)动态规划法#include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;int LCS1(string s1, string s2) { int len1 = s1.size()...原创 2019-12-27 15:19:20 · 113 阅读 · 0 评论 -
最长公共前缀
问题描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”思路官方思路:先假设strs[0]为公共前缀,之后遍历1~strs.size()的字符串,判断是否含有prefix,如果不含有prefix,则将prefix长度减1,再次判断prefix-1是否为其子串(=...原创 2019-12-27 14:50:27 · 110 阅读 · 0 评论 -
无重复的最长公共子串问题
问题描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。利用滑动窗口时间复杂度:o(n^2)空间复杂度:o(1)设立start和end,end向右滑动,每次判断当前end的值是否在之前的数组中出现过,若出现过,将start的位置移向出现过的字符的下一个...原创 2019-12-27 12:06:29 · 203 阅读 · 0 评论 -
两数之和
问题描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class...原创 2019-12-20 22:45:54 · 95 阅读 · 0 评论