• 组合


    题目描述

    给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。

    示例:

    输入: n = 4, k = 2
    输出:

    1
    2
    3
    4
    5
    6
    7
    8
    [
    [2,4],
    [3,4],
    [2,3],
    [1,2],
    [1,3],
    [1,4],
    ]
  • UWP经验 - 通过Win32 API读写文件

    按照《向文件进行写入的最佳做法》这篇文档所述,UWP中推荐的做法是使用FileIO或者PathIO进行文件读写。这没问题,但这俩工具类都各有缺陷:

    • FileIO建立在StorageFile基础上,想读写,先拿到StorageFile
    • PathIO可以通过路径,但默认仅限于应用文件夹,其它目录没权限(需要一些特殊操作)。

    那么有没有既能通过路径获取文件,又没有严格的权限限制的方法呢?当然有了!

  • UWP经验 - 如何大幅提高UWP的文件遍历速度

    在UWP中,通常是使用StorageFile进行文件相关的操作,大多数情况下,这没有问题。但如果涉及到文件夹遍历,你就会发现建立在Storage基础上的文件查询太慢了。

    以一个普通的VuePress前端项目为例,在加载完本地依赖后,整个项目文件数量在20,000个左右(包括node_modules)。使用StorageFolder.GetItemsAsync(),然后循环递归查询,耗时约4分半。

    试想,如果你要做一个编辑器,展示文件树,打开应用后可能要等5分钟才能完全加载完,这简直是噩梦。

    但现在,通过公开的Win32 API,我们可以直接把时间压缩在4秒左右,这种文件查询速度绝对是一个飞跃式的提升(尽管可能比不上真正的Win32应用查询速度)。

  • 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 提供了相当丰富的主题配置选项,完全可以让你的编辑器大变样。