byWind's Blog

  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

子集

发表于 2018-10-22 | 分类于 算法题
本文字数: 2k | 阅读时长 ≈ 5 分钟

问题提出

#78 子集

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。

说明:解集不能包含重复的子集。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
> 输入: nums = [1,2,3]
> 输出:
> [
> [3],
> [1],
> [2],
> [1,2,3],
> [1,3],
> [2,3],
> [1,2],
> []
> ]
>

解法

假设已知n个元素的集合的全部子集,多加一个元素,其全部子集会变成什么样?

设之前的集合为{a1, a2},则全部子集为{Φ, {a1}, {a2}, {a1, a2}},加入a3后,保留之前的全部子集外,需要在之前的每个子集的后面加上a3并入新的全部子集的集合,即{Φ, {a1}, {a2}, {a1, a2}} ∪ { {a3}, {a1, a3}, {a2, a3}, {a1, a2, a3}}

阅读全文 »

[paper]Eraser: A Dynamic Data Race Detector for Multithreaded Programs

发表于 2018-10-20 | 分类于 论文
本文字数: 1.1k | 阅读时长 ≈ 3 分钟

Eraser原理

最初的思路

为每个共享变量维护一个lockset,记录线程访问这个变量时持有的锁。每次访问会更新这个lockset(与当前持有的锁做交运算),当这个集合为空时,就说明这个变量没有被锁保护。

阅读全文 »

bash(下)

发表于 2018-10-17 | 分类于 基础知识
本文字数: 1.4k | 阅读时长 ≈ 3 分钟

进程处理

  • jobs命令

    • -l:列出pid
    • -p:只列出pid
    • -n:只列出和上次比发生变化的作业
    • -r:正在运行的
    • -s:被停止的
    • -x:后面跟一个cmd,可以用%n获取pid
阅读全文 »

字符串相乘

发表于 2018-10-17 | 分类于 算法题
本文字数: 2.7k | 阅读时长 ≈ 7 分钟

问题提出

#43 字符串相乘

阅读全文 »

bash(中)

发表于 2018-10-16 | 分类于 基础知识
本文字数: 2.4k | 阅读时长 ≈ 6 分钟

I/O

重定向操作符

重定向符 功能
`cmd1 cmd2` 管道;接受cmd1的标准输出,作为cmd2的标准输入
>file 将标准输出定向到file
<file 将file作为标准输入
>>file 将标准输出定向到file,将文件指针置于文件末尾
`> file` 强制重定向(忽略noclobber状态)
<>file 等效于<file >file
<<label 支持多行输入,直到输入为label为止
n>file 将文件描述符n定向到file,n不写则默认为1
n<file 需要从文件描述符n中读数据时从file中读,n不写则默认为0
n>&m 将文件描述符n重定向到文件描述符m的文件中
n<&m 将m的输入作为n的输入
&>file 等价于>m 2>&1,即将标准输出和错误输出都重定向到file中
/dev/null 一个特殊的文件,只写不读,当需要丢弃输出时重定向到该文件
阅读全文 »

bash(上)

发表于 2018-10-15 | 分类于 基础知识
本文字数: 3.4k | 阅读时长 ≈ 8 分钟

基础

  • !!可以执行上一条命令

  • Ctrl+/可以强行终止进程(在Ctrl+C不管用时可以试试)

  • 一些快捷键

    | 快捷键 | 含义 |
    | :———: | :——————————————— |
    | Ctrl + A | 跳转到命令的开始位置 |
    | Ctrl + E | 跳转到命令的结尾位置 |
    | Ctrl + K | 清除从当前位置到命令末尾的所有字符 |
    | Ctrl + R | 向后搜索(输入关键字,重复输入可跳转到下一个) |
    | Ctrl + T | 颠倒当前位置与前一个位置的字符 |
    | Ctrl + L | 清除屏幕 |
    | Ctrl + -> | 以单词为单位跳转 |

阅读全文 »

搜索旋转排序数组

发表于 2018-10-14 | 分类于 算法题
本文字数: 1.6k | 阅读时长 ≈ 4 分钟

问题提出

#33 搜索旋转排序数组

假设按照升序排序的数组在预先未知的某个点上进行了旋转。

( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。

搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。

可以假设数组中不存在重复的元素。算法时间复杂度必须是 O(log n) 级别。

示例:

1
2
3
> 输入: nums = [4,5,6,7,0,1,2], target = 0
> 输出: 4
>
阅读全文 »

合并K个排序链表

发表于 2018-10-13 | 分类于 算法题
本文字数: 3.3k | 阅读时长 ≈ 8 分钟

问题提出

#23 合并K个排序链表

合并 k 个排序链表,返回合并后的排序链表。

示例:

1
2
3
4
5
6
7
8
> 输入:
> [
> 1->4->5,
> 1->3->4,
> 2->6
> ]
> 输出: 1->1->2->3->4->4->5->6
>
阅读全文 »
1…456
Li Hao

Li Hao

46 日志
9 分类
20 标签
GitHub E-Mail
Links
  • Norton
  • lazzy
  • Alevery
  • pdfcxc
0%
© 2019 Li Hao | 95k | 3:58
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v7.0.1
|