随笔分类 -  算法学习

摘要:"题目链接" 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 说明: 所有输入只包含小写字母 a z 。 示例 1 示例 2 题解 复杂度分析 时间复杂度:$O(n^2)$。 空间复杂度:$O(1)$。 手记 遍历即可,注意特殊值的影响,提前排除特 阅读全文
posted @ 2019-06-04 16:08 梦想未必轻 阅读(384) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 |字符|数值| | | | |I|1| |V|5| |X|10| |L|50| |C|100| |D|500| |M|1000| 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII , 阅读全文
posted @ 2019-06-04 16:07 梦想未必轻 阅读(863) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 阅读全文
posted @ 2019-05-31 18:11 梦想未必轻 阅读(599) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 |字符|数值| | | | |I|1| |V|5| |X|10| |L|50| |C|100| |D|500| |M|1000| 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII , 阅读全文
posted @ 2019-05-31 18:11 梦想未必轻 阅读(1318) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 ' ' 的正则表达式匹配。 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 说明: s 可能为空,且只包含从 a z 的小写字母。 p 可能为空,且只包含从 a z 的小写字母,以及字符 . 阅读全文
posted @ 2019-05-31 18:10 梦想未必轻 阅读(1099) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1 示例 2 示例 3 题解 复杂度分析 时间复杂度:$O(n)$。 空间复杂度:$O(1)$。 手记 思路很多,不要限制你的思维。 附 一厢情愿,愿赌服输 以上 阅读全文
posted @ 2019-05-29 20:30 梦想未必轻 阅读(4176) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字 阅读全文
posted @ 2019-05-29 19:08 梦想未必轻 阅读(1882) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 备注 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 $[−2^{31}, 2^{31} − 1]$。请根据这个假设,如果反转后整数溢出那么就返回 0。 示例 1 示例 2 示 阅读全文
posted @ 2019-05-29 18:21 梦想未必轻 阅读(903) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。 请你实现这个将 阅读全文
posted @ 2019-05-29 00:26 梦想未必轻 阅读(690) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1 示例 2 题解(中心扩展算法) java public String longestPalindrome(String string) { if (null == string 阅读全文
posted @ 2019-05-28 17:36 梦想未必轻 阅读(1922) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 $O(log(m + n))$。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1 示例 2 题解 复杂度分析 时间复杂度:$O 阅读全文
posted @ 2019-05-28 17:25 梦想未必轻 阅读(1550) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1 示例 2 示例 3 题解 1 手记 一道值得品味的题。同样是遍历,但是 题解 1 要比 题解 2快上不少。双层for 循环的部分,值得用心分析。 猴急 做题不要像这个小标题 以上 阅读全文
posted @ 2019-05-24 15:51 梦想未必轻 阅读(2487) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 题解 阅读全文
posted @ 2019-05-24 15:38 梦想未必轻 阅读(2230) 评论(0) 推荐(0)
摘要:"题目链接" 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 题解 java class Solution { public 阅读全文
posted @ 2019-05-24 15:04 梦想未必轻 阅读(1963) 评论(0) 推荐(0)
摘要:设计内容 打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。 实现思路 简单的界面设计就不去阐述了,代码方法写的很分明。 算法的核心是串的查找和替换,我运用kmp算法对串进行查找操作,这个算法是整个代码最重要的地方,kmp算法的讲解可以百度其他大神的博客 阅读全文
posted @ 2018-02-27 11:48 梦想未必轻 阅读(395) 评论(0) 推荐(0)
摘要:The Suspects Description 严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁。为了减少传播给别人的机会, 最好的策略是隔离可能的患者。 在Not Spreading Your Sickness大学( NSYSU), 有 阅读全文
posted @ 2017-10-01 20:09 梦想未必轻 阅读(181) 评论(0) 推荐(0)
摘要:题目描述 一位老木匠需要将一根长的木棒切成N段。每段的长度分别为L1,L2,......,LN(1 int main() { int n,i,j,t,s=0; scanf("%d",&n); int a[n+1]; for (i = 1; i a[j+1]) { t = a[j]; a[j] = a 阅读全文
posted @ 2017-09-19 16:22 梦想未必轻 阅读(157) 评论(0) 推荐(0)
摘要:不明飞行物 题目描述 Description 一颗彗星的后面有一个不明飞行物(UFO),这个UFO经常到地球上来寻找忠实的追随者,把他们带到宇宙中去。但由于舱内空间有限,它们每一趟只能带一组追随者。 尽管如此,外星人仍然想出了一个妙法来决定带谁走:以A代表1,B代表2,……Z代表26,USACO即2 阅读全文
posted @ 2017-09-12 22:20 梦想未必轻 阅读(487) 评论(0) 推荐(0)
摘要:一、数星星 (线性结构) 题目描述 小明是一名天文爱好者,他喜欢晚上看星星。这天,他从淘宝上买下来了一个高级望远镜。他十分开心,于是他晚上去操场上看星星。 不同的星星发出不同的光,他的望远镜可以计算出观测到的星星发出的光的数值W。小明当然想尽可能地多看到星星,于是他每看到一颗星星,就要看看他之前有没 阅读全文
posted @ 2017-09-03 22:46 梦想未必轻 阅读(244) 评论(0) 推荐(0)
摘要:一、年终奖 题目描述 小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6 6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到 阅读全文
posted @ 2017-08-27 19:24 梦想未必轻 阅读(229) 评论(0) 推荐(0)