Merge k Sorted Lists

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

Example:

Input:
[

Read More

Sort List

https://leetcode.com/problems/sort-list/description/

Read More

最长无重复子串

LeetCode上的第三题。

Read More

C++ 异常处理

异常是程序在执行期间产生的问题。C++ 异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。

异常提供了一种转移程序控制权的方式。C++ 异常处理涉及到三个关键字:try、catch、throw。

  • throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。

Read More

Z3 求解器的使用

Z3是一款知名的SMT求解器,由微软的首席教授Leonardo de Moura率队打造。该工具获得“2014 The most influential tool paper in the first 20 years of TACAS” 和 “2015 Programming Languages Software Award from ACM SIGPLAN”。

Read More

SAT / SMT 求解器

本文是个长期的工作,是对 Dennis Yurichev的文章《SAT/SMT by example》的翻译。文本总长460页,二十余章。在翻译的过程中,我会假如我的理解和一些具体的算法。

Read More

c preprocess 预处理

伪指令(或预处理指令)定义:

预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:

Read More

C++ 命名空间

假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。

同样的情况也出现在 C++ 应用程序中。例如,可能会写一个名为 xyz() 的函数,在另一个可用的库中也存在一个相同的函数 xyz()。这样,编译器就无法判断所使用的是哪一个 xyz() 函数。

Read More

C 存储类型

C 语言中,static是用于说明变量作用范围的关键字。它的作用有如下的三条

A. static

1. 隐藏

Read More

C++ 文件操作

iostream 标准库,它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。
如果要从文件读取流和向文件写入流,这就需要用到 C++ 中另一个标准库 fstream,它定义了三个新的数据类型:

  • ofstream 表示输出文件流,用于创建文件并向文件写入信息。

Read More