摘要: 纪念一下,这个是我第一次提交的程序就超过了百分之百的提交记录 程序如下: 观察了网站上的最优解法,发现是使用merge函数进行数组合并,考虑到merge数组合并的时候需要申请新的空间,所以merga中使用的方法应该比我的方法快一点。但是查看了merge的源码时并没有发现更优的地方(可能存在但是我看不 阅读全文
posted @ 2018-06-06 19:14 嫦娥 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 在拿到这个题目我第一时间想的是用map统计字符串中字符出现的情况,然后记录最长子串写出程序如下: 但是提交之后发现只快于65.17%的程序,就去看了一下最优解,最优解代码如下: 二者思路相似都是通过对应字符串中的字符出现,当出现重复字符时,抛弃重复出现的字符前一次出现的位置,把新的子串开始位置设置为 阅读全文
posted @ 2018-06-06 18:13 嫦娥 阅读(2800) 评论(0) 推荐(0) 编辑
摘要: 两数相加我写出的代码如下 在提交后发现并不是最优解,跑去看了看最优解,得出原因:可能是我写的循环中包含分支太多,导致一次循环时间超过了最优解中的两次循环。 由此可见在写C++代码中要考虑到if语句对于现代CPU速度的影响。 阅读全文
posted @ 2018-06-06 01:54 嫦娥 阅读(1154) 评论(0) 推荐(0) 编辑
摘要: 方法1:暴力遍历(时间复杂度O(n^2),空间复杂度O(1)) 在此之后本想用快速排序的方法查找,但是看到题目要求输出的是数组下标,这样排序时就需要保存原来的下标。与其这样排序不如之间用map来做。 之后看了看速度最快的方法,然后得出方法2如下。 其中设置了一个静态lambda表达式,该表达式会在程 阅读全文
posted @ 2018-06-06 00:42 嫦娥 阅读(291) 评论(0) 推荐(0) 编辑