Leetcode Best Time Buy and Sell Stock

Best Time to Buy and Sell Stock是一个系列,包括easy到hard各种难度的题目,我把它们都放在一起来总结起来。

[EASY] 121. Best Time to Buy and Sell Stock

这道题是这个系列的开篇之作。题目内容是给你一个数组,里面的数组表示当天的股价,需要你在便宜的适合购买股票,然后在后面的时间里找到一个高点卖出,一共只能进行一次买入和一次卖出,计算出哪一天的利润最高。

阅读全文

萌新的Hhkb上手教程

hhkb镇贴

靠着导师发的补贴买了个梦寐以求的hhkb,发现hhkb上手有点难度,特别是没有经常使用vim、emacs的玩家,所以边用着hhkb,边收集了一些教程,用于降低萌新的上手难度。

阅读全文

Vue项目webpack配置

必要的库

首先初始化项目

1
npm init

阅读全文

Vue-计算属性

Vue计算属性使用

计算属性一般用在下面的例子,在模版里面可以像一个类属性那样访问它

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<template>
<div>
<p>{{ name }}</p>
<p>{{ reverseName }}</p>
</div>
</template>

<script>
export default {
data() {
return {
name: "ssdemajia"
};
},
computed: {
reverseName() {
return this.name
.split("")
.reverse()
.join("");
}
}
};
</script>

阅读全文

Apue读书笔记-Unix 守护进程

背景知识

进程环境

进程启动

C程序都是从main函数开始执行,当内核执行C程序时(使用exec函数),在main函数前先调用一个特殊的启动例程,可执行程序文件将此启动例程指定为程序的起始位置(由连接器设置),启动例程从内核获取命令行参数和环境变量值,之后再运行main函数

阅读全文

翻译-CMake教程

翻译自文章https://www.johnlamp.net/cmake-tutorial.html

CMake是什么?

CMake是开源跨平台的构建工具,由Kitware开发。CMake提供一个简单的构建C/C++项目的方式。实际上CMake不算一个完全的构建工具,它实际上是生成你系统构建工具的配置文件(比如Make)。

阅读全文

Zgrab2源码阅读

因为在项目里使用了zgrab2,所以想学习它的设计,顺便学习go语言

zgrab2主程序

主程序main.go/cmd/zgrab2/main.go下,主要流程是:

阅读全文

44. Wildcard Matching

题目解析

实现通配符匹配,*可以匹配任意字符或者0个字符,匹配一个任意字符

方法一 贪心

这道题最关键的是*,因为它的特性能够匹配任意多字符。
对于下面样例,si是s的索引,pi是p的索引

1
2
s = "abc"
p = "a*c"

阅读全文

148. Sort List

题目解析

在单链表上使用O(nlgn)的排序算法

方法一 快速排序

快速排序有一种partition需要从两边往里交换,这种在单链表上行不通,这里改为维持一个low指针,在它之前的节点(包括low指向的)的值都小于目标。
比如:

1
2
输入: 3->4->2->1->6
输出: 1->2->3->4->6

阅读全文

406. Queue Reconstruction by Height

题目解析

题目的意思是数组每个元素有两个值[H, K],第一个值是身高,第二个值是身高大于的此元素个数。比如下面的例子

1
2
3
4
5
输入:
[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]

输出:
[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]

阅读全文