leetcode Practice
scarftree
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode 1st problem two sum
去年未上传的代码, 问题描述 一个vector容器中,假定只有一个解,使得和为0,找出这两个数class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { for(int i = 0;i<=nums.size()-2;i++) ...原创 2018-02-19 19:25:43 · 232 阅读 · 0 评论 -
leetcode 2nd problem add two numbers
1.读题 a.倒序的两个链表,均不为空。 b.数据格式除了0以外开头不能为0。2.思路 和数据结构选择的大作业类似,大整数加减,不过逆序无需构造循环链表。3.反思 解题步骤清楚,但是变量的放置位置很有讲究,本来想对个位数做统一处理,发现逻辑上就有问题,因为,涉及到: a.个位数加个位数,可能不进位的情况。 b.统一的流程只能是有一者或者两者指针移动的循环控制流,两者唯一确定的是...原创 2018-04-15 22:09:53 · 181 阅读 · 0 评论 -
leectcode 3rd Longest Substring Without Repeating Characters
1.题意 找出无重复字母的最长子序列2.思路 用哈希表维护序列 left表示无重复子串的前一个位置 table的值表示当前字母出现的而最后一个序列位置,从1开始计数 条件很精妙3.反思 起初,自己的思路很简单,用循环比较,虽然编过了,但没有ac,处理了 1.空串 2.特殊字符(实则不能删) 等情况 但是timeout 要学会多用表等数据结构处理问题,穷举法很不理想 ...原创 2018-04-22 23:11:56 · 175 阅读 · 0 评论 -
leetcode 5st Longest Palindromic Substring
1.题意 寻找输入字符串中的最长回文序列2.思路比较 (1)暴力破解,从头开始首尾两下标向中间移动,比较两端字符是否相同,长度控制一层循环,字符串起始位控制一层循环,比较两端字符是否相同一层循环,时间复杂度为O(n^3)代码不ac(2)以每个字符为中心向两边扩散比较,去除长度控制这层循环,与两端标记一同控制, 时间复杂度为O(n^2)参考代码如下:class Solution...原创 2018-09-12 23:23:08 · 174 阅读 · 0 评论 -
leecode 4st Median of Two Sorted Arrays
1.题意 输入为两个数字数组,找出其中的中位数 要求时间复杂度为log(m+n)2.思路 先把两个数组放入一个容器中,而后找中位数, 如果容器size为奇数,则是中位数本身,偶数,则是中间两数字的平均值使用堆或者快速排序还要重新造轮子,搜到一个很实用的stl方法 找数组或容器中的第n大的方法 std::nth_element(RandomIt first, RandomIt n...原创 2018-09-10 23:26:31 · 178 阅读 · 0 评论 -
leetcode 6st ZigZag Conversion
1.题意输入:字符串,行数输出:N字形镜像旋转后的字符串2.思路第一反应:一列列排,中间每一列只有一个字符,找空格规律参考方案:找同一行字符串间的间隔规律,首尾字符间差值为(2n-2)中间行字符差值为X =(2n-2)-2i,(2n-2)-X, (2*n-2)-X…最后将字符串数组串起来组装成新的字符串3.反思思维还是太局限,应该关注输出是什么,着眼于输出于输入的关系,从其中找...原创 2019-01-09 22:16:39 · 161 阅读 · 0 评论
分享