原文地址: https://www.cnblogs.com/mini-coconut/p/9074315.html 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba"也是一个有效答案。 示 ...
分类:
编程语言 时间:
2019-05-25 13:13:50
阅读次数:
115
1,如何遍历单链表中的每一个数据元素? 1,当前单链表遍历方法: 1,插入的时间复杂度为 O(n),而遍历的时间复杂度为 O(n*n); 2,遗憾的事实: 1,不能以线性的时间复杂度完成单链表的遍历; 新的需求: 1,为单链表提供新的方法,在线性时间内完成遍历; 3,设计思路(游标): 1,在单链表 ...
分类:
其他好文 时间:
2019-05-25 12:55:44
阅读次数:
121
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 示例 2: 我们把数组中数字的每一位累加起来对3取余,剩下的结果就是那个单独数组该位上的数字,由于我们累加的 ...
分类:
其他好文 时间:
2019-05-11 21:14:40
阅读次数:
97
整数的唯一分解定理: $\forall A\in \mathbb {N} ,\,A 1\quad \exists \prod _{i=1}^{s}p_{i}^{a_{i}}=A$,其中${\displaystyle p_{1} ...
分类:
其他好文 时间:
2019-05-09 18:23:00
阅读次数:
102
0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时 ...
分类:
编程语言 时间:
2019-05-07 12:58:33
阅读次数:
133
只出现一次的数字 本次题目要求为: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 示例 2: 在这里提供4中解决方法: 1、使用HashSet 2、先将传入 ...
分类:
其他好文 时间:
2019-04-21 18:40:44
阅读次数:
168
SingleNumber I: 题目链接:https://leetcode-cn.com/problems/single-number/ 题意: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不 ...
分类:
编程语言 时间:
2019-04-19 01:17:08
阅读次数:
165
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 代码: v1.0 思路: 同样用到了 set(),外加 sum()函数。单倍体求和加倍再减。 v2.0思路 但是效率太低了, ...
分类:
其他好文 时间:
2019-03-29 20:55:10
阅读次数:
132
给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 输入: [3,0,1] 输出: 2 示例 2: 输入: [9,6,4,2,3,5,7,0,1] 输出: 8 说明: 你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来 ...
分类:
其他好文 时间:
2019-03-29 00:54:15
阅读次数:
196
在计算机中所有数据都是以二进制形式进行存储,而位运算就是直接对内存中的二进制数据进行操作,因此处理速度非常快。 1. 基本操作 C/C++中移位运算包含逻辑移位(Logical shift)和算术移位(Arithmetic shift)两种,其中逻辑移位的意思是,移出去的位直接舍弃,空缺位用0填充; ...
分类:
其他好文 时间:
2019-03-16 09:23:46
阅读次数:
194