自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 快速排序Partition的写法

快速排序的重点在于Partition的写法,Partition主要有两种写法:从头前进法,首尾夹逼法。 Partition写法一 首先需要做出求解问题的区间,为此,指定 pivot = nums[left],并定义两个变量 i, j [left+1, j] 区间所在元素都小于pivot (j, i]区间所在元素都大于pivot 初始化 i 和 j 都是left,可以写出如下代码: int partition(int *nums, int left, int right) { .

2021-10-18 01:23:56 2358

原创 谈谈算术表达式的求解

一、转换成后缀表达式后计算 中缀表达式:操作符以中缀形式处于操作数的中间 后缀表达式(逆波兰表达式):将运算符放在两个运算对象的后面 例如,中缀表达式 A+B*(C-D)-E/F 对应的后缀表达式为 ABCD-*+EF/-,一般有三种方法进行转换 得到后缀表达式后的算术表达式求解过程如下: ​ int stringToNumber(const string &s) { int sign = 1; int start = 0; if (s[0] == '-') { ...

2021-10-18 01:17:12 1347

原创 二叉树的非递归遍历写法

二叉树的非递归遍历写法 前序遍历 前序遍历是按照“中-左-右”的遍历方式对二叉树进行访问 第一种写法 第一种写法较为直观,模拟递归栈的做法,先获取到当前节点,进行打印,然后将该节点的右子树和左子树的根节点分别入栈,再将左子树的根节点出栈,对该节点进行同样处理。由于我们希望得到“中-左-右”顺序,在打印完中节点之后,我们将右节点在左节点之前入栈,根据栈的后入先出的原则,我们先取到对应左节点进行处理。 vector<int> preOrder(TreeNode *root) { ..

2020-12-07 02:10:49 317

原创 leetcode1066 校园自行车分配II

leetcode1066 校园自行车分配II 题目描述 在由 2D 网格表示的校园里有 n 位工人(worker)和 m 辆自行车(bike),n <= m。所有工人和自行车的位置都用网格上的 2D 坐标表示。 我们为每一位工人分配一辆专属自行车,使每个工人与其分配到的自行车之间的曼哈顿距离最小化。 p1 和 p2 之间的曼哈顿距离为 Manhattan(p1, p2) = |p1.x - p2.x| + |p1.y - p2.y|。 返回每个工人与分配到的自行车之间的曼哈顿距离的最小可能总

2020-11-07 12:41:55 1047

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除