上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页
摘要: 问题链接 "LeetCode 2" 题目解析 给出两个数字链表,求二者之和,以链表形式返回。 解题思路 简单题。考察链表的应用,建立一个新链表,遍历两个链表,每位两个数字相加,添加一个新节点到新链表后面,flag记录进位问题。注意最高位的进位问题,有可能需要 多添加一个节点。 参考代码 "LeetC 阅读全文
posted @ 2018-03-09 17:46 AlvinZH 阅读(382) 评论(0) 推荐(0)
摘要: 问题链接 "LeetCode 1. Two Sum" 题目解析 给定一数字数组及目标和,求数组中和为目标的两个数下标。 解题思路 暴力搜索肯定过不了,时间复杂度为 $O(n^2)$,TLE教你做人。 本题利用map可以轻松过,怎么用呢?简单理解为map可以在两个对象之间建立联系,即(key, val 阅读全文
posted @ 2018-03-09 16:51 AlvinZH 阅读(719) 评论(0) 推荐(0)
摘要: 问题链接 "LeetCode 91" 题目解析 A~Z对应数字1~26,给出一段数字串,求破译方法数。 解题思路 动态规划。关键在于分类,定义 $dp[i]$ 为前i个字符的解密方法数,初始化为0。 小小注意:空数字串时返回0,非空时定义dp[0]=1,可以想象成没有也是一种解密方法(莫急待会再理解 阅读全文
posted @ 2018-03-09 16:03 AlvinZH 阅读(313) 评论(0) 推荐(0)
摘要: 问题链接 "LeetCode 516" 题目解析 求最长回文子序列。 解题思路 子序列和子串有区别的,子序列不需要连续,相对位置递增即可。 动态规划。对于任意字符串,如果头尾字符相同,那么字符串的最长回文子序列等于去掉首尾的字符串的最长回文子序列加上首尾;如果首尾字符不同,则最长子序列等于去掉头的字 阅读全文
posted @ 2018-03-08 16:00 AlvinZH 阅读(468) 评论(0) 推荐(0)
摘要: 提出问题 最长回文子串问题 :给定一个字符串,求它的最长回文子串长度。 如果一个字符串正着读和反着读是一样的,那它就是回文串。如a、aa、aba、abba等。 暴力解法 简单粗暴:找到字符串的所有子串,遍历每一个子串以验证它们是否为回文串。一个子串由子串的起点和终点确定,对于一个长度为n的字符串,共 阅读全文
posted @ 2018-03-08 15:16 AlvinZH 阅读(1989) 评论(0) 推荐(1)
摘要: 问题链接 "LeetCode 5" 题目解析 求字符串的最长回文子串长度。 解题思路 回文:正读反读一模一样。 子串:原字符串中的一段连续字符串。 方法也有很多种,简单介绍一下。 方法一:DP DP[i][j]定义成子串[i, j]是否是回文串。外循环 $i$从 $n 1$ 往 $0$ 遍历,内循环 阅读全文
posted @ 2018-03-08 13:18 AlvinZH 阅读(438) 评论(0) 推荐(0)
摘要: 问题链接 "LeetCode 647" 题目解析 计算字符串的回文子串数。 解题思路 一个小问题,子串(Substring)、子数组(Subarray)和子序列(Subsequence)的区别:子串和子数组是等同的,特点是 连续的 ,比如[1,2,3]的子串有(1), (2), (3), (1,2) 阅读全文
posted @ 2018-03-08 12:21 AlvinZH 阅读(967) 评论(0) 推荐(0)
摘要: 问题链接 "LeetCode 795" 题目解析 给定一个数组A,左右范围L、R。求子数组的数量,要求:子数组最大值在L、R之间。 解题思路 子数组必须连续,利用最大值R对数组进行分段,设定变量 left 记录每段开始位置($A[left] R$,$A[left+1] ≤ R$),初始值为 1。 遍 阅读全文
posted @ 2018-03-08 11:07 AlvinZH 阅读(929) 评论(0) 推荐(0)
摘要: 代码优化 以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记。 概述 .1. 目的:提高目标代码运行效率。时间效率(减少运行时间);空间效率(减少内存容量)。 原则:进行优化必须严格遵循“不能改变原有程序语义”原则。 2. 优化的分类 从优化的层次,与机器是否有关,分为:独立于机器的优化、 阅读全文
posted @ 2018-01-19 23:35 AlvinZH 阅读(3665) 评论(0) 推荐(0)
摘要: 错误处理 说明:以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记。 1. 目标:编译程序对于语法和语义正确的源程序要正确地编译生成等价的目标代码;而对于错误的源程序不能一发现就停止,而是要能检查出错误的性质和出错位置,并使编译能继续下去,同时尽可能多而准确地发现错误和指出各种错误。 2. 阅读全文
posted @ 2018-01-19 23:34 AlvinZH 阅读(3649) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页