给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 来源:力扣(LeetCode) 类似于链表反转,三个指针记录位置。 /** * Definition ...
分类:
其他好文 时间:
2020-05-01 00:42:44
阅读次数:
79
周五看到QQ群里在讨论Linux主机上到底需不需要开启swap空间,而且目前公有云主机默认都是把swap关了的,很多公司也是没有开启swap,那到底需不需要开启呢? 我之前在看《鸟哥的Linux私房菜》上他写了这么一段话:swap在目前的桌面计算机来讲,存在的意义已经不大了,这是因为目前的X86主机 ...
分类:
系统相关 时间:
2020-04-30 09:42:54
阅读次数:
367
内存映射 在一些桌面程序中,整个内存映射是通过虚拟内存来进行管理的,使用一种称为内存管理单元(MMU)的硬件结构来将程序的内存映射到物理RAM。在对于 RAM 紧缺的嵌入式系统中,是缺少 MMU 内存管理单元的。因此在一些嵌入式系统中,比如常用的 STM32 来讲,内存映射被划分为闪存段(也被称为F ...
分类:
其他好文 时间:
2020-04-29 14:19:41
阅读次数:
342
题目描述 将给定的链表中每两个相邻的节点交换一次,返回链表的头指针例如,给出1->2->3->4,你应该返回链表2->1->4->3。你给出的算法只能使用常量级的空间。你不能修改列表中的值,只能修改节点本身。 Given a linked list, swap every two adjacent ...
分类:
其他好文 时间:
2020-04-29 00:52:16
阅读次数:
76
引用作为函数参数 很多函数中的参数都是 的方式,这样函数会创建一个临时对象用来保存数据,占用内存开销;而引用不会,并且在特定情况下又是必须的选择; : 使用引用作为参数的作用: 函数里的形参相当于主调函数里参数的一个别名,操作的对象其实是同一个; 引用参数在内存中没有副本,是直接对实参进行操作的; ...
分类:
编程语言 时间:
2020-04-29 00:41:59
阅读次数:
74
一:解题思路 Time:O(n^2),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: template <typename T> static void Swap(T& a,T& b) { T c(a); a=b; b=c; } template <typename T> ...
分类:
编程语言 时间:
2020-04-28 16:41:28
阅读次数:
53
一:解题思路 Time:O(n^2),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: template <typename T> static void Swap(T& a,T& b) { T c(a); a=b; b=c; } template <typename T> ...
分类:
编程语言 时间:
2020-04-28 12:34:28
阅读次数:
69
synchronzied是一个重量级锁 概念:什么叫重量级锁? 就是申请资源必须经过kernel(内核也叫操作系统),调用。 (里面涉及到了用户态(用户空间)和内核态(os)的交互) 轻量级锁:是不经过操作系统。 cas:乐观锁(compare and swap)比较与交换(可以翻看Atomic原子 ...
分类:
其他好文 时间:
2020-04-27 22:51:17
阅读次数:
170
转自:https://durant35.github.io/2017/10/29/VM_Stacks/ Linux 中有几种栈?各种栈的内存位置? 关于栈 函数调用栈的典型内存布局 栈帧 (Stack Frame) 的边界由栈帧基地址指针 EBP 和 栈指针 ESP 界定,EBP指向当前栈帧底部 ( ...
分类:
编程语言 时间:
2020-04-27 19:49:37
阅读次数:
86