【题目描述】 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2 ...
分类:
其他好文 时间:
2020-07-08 13:44:21
阅读次数:
63
这部分主要用来回顾剑指offer,之前做过的剑指offer题目主要是在leetcode上面完成的,没有仔细过一遍纸质版书总觉得不放心。 面试准备 编程习惯上,需要注意: 先思考解决问题的方法,需要用到哪些知识点,以及对应的时间/空间复杂度,再动笔 想好测试用例,注意边界情况 调试代码的能力 介绍项目 ...
分类:
其他好文 时间:
2020-07-07 15:14:14
阅读次数:
47
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2: 输入:nums = [1,2,10,4,1,4,3,3] ...
分类:
编程语言 时间:
2020-07-07 00:38:50
阅读次数:
74
思路:将他们转成int数组,然后按位相加,空间复杂度有点高,但时间复杂度为Max(O(M,N)) import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanne ...
分类:
其他好文 时间:
2020-07-07 00:05:17
阅读次数:
82
希尔排序 前面我们说过了插入排序,它是三种基本排序中最常用的一种排序,具有排序稳定,空间复杂度低,而且在样本小且基本有序时效率比较高,该篇讲述的希尔排序是对插入排序的一种优化排序,在希尔排序开始阶段,通过增量的方式使排序的样本小化,在希尔排序的最后阶段蜕变成插入排序,但可以完美实现样本基本有序,从而 ...
分类:
编程语言 时间:
2020-07-06 19:37:22
阅读次数:
41
题目信息 时间: 2019-07-05 题目链接:Leetcode tag:位运算 难易程度:中等 题目描述: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例1: 输入:nums = [4,1 ...
分类:
编程语言 时间:
2020-07-05 17:08:19
阅读次数:
55
数据结构与Python实现 分类和时空复杂度 分类: 时间和空间复杂度: Array 数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。 适用场景: 频繁查询,对存储空间要求不大,很少增加和删除的情况 优点: 按照索引查询元素速度 ...
分类:
其他好文 时间:
2020-07-05 13:49:41
阅读次数:
90
算法(1)--时间和空间复杂度 初识 算法定义 算法是独立存在的一种解决问题的方法和思想: 求解一个问题步骤的描述 是求解问题的方法 它是指令的有限序列 其中每条指令表示一个或者多个操作 对于算法而言,实现的语言并不重要,重要的是思想 算法特性 确定性:无二义 有穷性:合适时间内可以执行 输入项 输 ...
分类:
编程语言 时间:
2020-07-05 13:33:12
阅读次数:
78
请判断一个链表是否为回文链表。 示例 1: 输入: 1->2输出: false示例 2: 输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl ...
分类:
其他好文 时间:
2020-07-05 00:30:58
阅读次数:
52
题目信息 时间: 2019-07-03 题目链接:Leetcode tag:哈希表 难易程度:简单 题目描述: 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 示例: s = "abaccdeff" 返回 "b" s = "" 返回 " " 注意 1. ...
分类:
其他好文 时间:
2020-07-04 17:08:48
阅读次数:
51