• Markdown 编辑器 -4- 预览

    Markdown编辑器的编辑工作已经基本完成了,如果你想要查看Markdown渲染的效果,那么我这里有一些经验可以与你分享

  • 汉明距离


    题目描述

    两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。

    示例:

    输入: x = 1, y = 4
    输出: 2
    解释:

    1
    2
    3
    1   (0 0 0 1)
    4 (0 1 0 0)
    ↑ ↑
  • c++编译错误汇总

    编译错误处理gccQ:error C2059: 语法错误:”<class-head>“A:全局变量没有加分号,可能是复制粘贴导致的 Q:error: passing ‘const xx’ as ‘this’ argument discar...
  • 程序优化总结分享

    来由目前主要的工作任务就是对软件进行加速,即在不影响(少影响)精度的前提下,提高程序的执行速度,降低资源的消耗 对近期工作进行总结,并编写ppt在组内分享,这里再记录一下 优化理论 不要优化. 不成熟的优化是万恶之源,提高代码效率的同时一般会降低其可...
  • vscode连接远程服务器

    起因vscode有远程开发功能,即可以在windows打开vscode,连接上linux服务器写代码但由于公司集群登录节点是centos6,官方表示centos6需要升级glibc和libstdc++,没有管理员权限,只能找一台centos7的计算节...
  • 二叉树的遍历


    前言

    最近一直在刷 Leetcode ,其中涉及了很多二叉树相关的题,二叉树是一种很重要的数据结构,很多其他的数据结构都是以二叉树为基础,二叉树的遍历涉及很多种,包括前序遍历、中序遍历、后序遍历、层次遍历。开始一直分不清这些遍历是如何工作的,随着后面题刷的越来越多,也渐渐熟悉了二叉树的遍历方式,在这里做一个总结分享给大家。

    四种遍历的主要方式为:

    • 前序遍历:根节点 -> 左子树 -> 右子树
    • 中序遍历:左子树 -> 根节点 -> 右子树
    • 后序遍历:左子树 -> 右子树 -> 根节点
    • 层次遍历:从上到下按照层遍历

    接下来使用以下的二叉树做样例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    1
    / \
    2 3
    / \ \
    4 5 6
    / \
    7 8

    前序遍历:1 2 4 5 7 8 3 6
    中序遍历:4 2 7 5 8 1 3 6
    后序遍历:4 7 8 5 2 6 3 1
    层次遍历:1 2 3 4 5 6 7 8
  • Markdown 编辑器 -3- 主题

    主题定义是一件比较费时的操作,尽管编辑器还是那个 VSCode 的编辑器,但如果你要假装这是自己的,那么总要在UI上有些变化才是。

    这需要一些精调,所幸 monaco-editor 提供了相当丰富的主题配置选项,完全可以让你的编辑器大变样。

  • 预测赢家


    题目描述

    给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。

    示例 1:

    输入:[1, 5, 2]
    输出:False
    解释:一开始,玩家1可以从1和2中进行选择。
    如果他选择 2(或者 1 ),那么玩家 2 可以从 1(或者 2 )和 5 中进行选择。如果玩家 2 选择了 5 ,那么玩家 1 则只剩下 1(或者 2 )可选。
    所以,玩家 1 的最终分数为 1 + 2 = 3,而玩家 2 为 5 。
    因此,玩家 1 永远不会成为赢家,返回 False 。

    示例 2:

    输入:[1, 5, 233, 7]
    输出:True
    解释:玩家 1 一开始选择 1 。然后玩家 2 必须从 5 和 7 中进行选择。无论玩家 2 选择了哪个,玩家 1 都可以选择 233 。最终,玩家 1(234 分)比玩家 2(12 分)获得更多的分数,所以返回 True,表示玩家 1 可以成为赢家。

    提示:

    • 1 <= 给定的数组长度 <= 20.
    • 数组里所有分数都为非负数且不会大于 10000000 。
    • 如果最终两个玩家的分数相等,那么玩家 1 仍为赢家。
  • Markdown 编辑器 -2- 语法

    官方语法定义

    定义语法

    我也没兴趣自创语法,但默认的Markdown语法是经典语法,一些后期扩展的语法,比如删除线、上标下标、脚注等语法均未涵盖。

    为了能让语法高亮得更彻底一点,必须要对当前markdown语法解析进行扩展。

  • Markdown 编辑器 -1- 创建

    这篇博客的主要目的是用于从零开始利用monaco-editor创建一个Markdown编辑器。

    由于有着相对明确的目标,所以就不会面面俱到,只能说提供一些简单的参考。