[leetcode题解]1346. Check If N and Its Double Exist(检查整数及其两倍数是否存在)

题目是一道简单的leetcode题目,leetcode1346题解如下: 本题目给定一个整数数组,数组中的所有元素均满足大于等于10^-3 小于等于 10^3范围。 现在求在该数组中是否存在两个下标i和j,是的i != j的情况下,arr[i] = 2 * arr[j]。 这个题目相对比较简单,关键是要考虑一下0的情况。 想了一下,最简单的方法可以直接使用哈希的方式解决,遍历数组,每个值都在哈希中 …

Continue reading

Webpack中css-import如何使用alias相对路径

起因 在用 Webpack 处理打包时,可将某一目录配置一个别名,代码中就能使用与别名的相对路径引用资源。 在 Vue 项目中,我们通常使用 vue-webpack 脚手架生成工程模板,然后配置 @ 为项目根目录下放资源和源码的 /src 目录的别名; …, resolve: { …, alias: { ‘@’: resolve(‘src’) } } 这样我们就可以在 js 文件中用形如 …

Continue reading

dpdk运行时目录/tmp/dpdk

dpdk开源代码中在创建运行时目录时,对当前的运行用户进行了监测。 如果监测到当前用户的gid是0,则表示当前用户为root用户,这时候其运行时目录在创建时会去读XDG_RUNTIME_DIR并创建dpdk运行时目录。 但是当监测到当前运行的用户是非root用户时,就不会进行该操作,而是直接在/tmp下创建一个dpdk目录,然后作为dpdk运行时目录。 文章由iaccepted发布与凌风技术站ia …

Continue reading

[leetcode题解]1310. XOR Queries of a Subarray(子数组的异或结果查询)

题目给定一个全是整数的数组 然后会给定很多查询子区间,比如数组长度为10,则查询子区间可以为小于10的任何区间,比如0-1,0-3,2-8,1-9等等。 题目要的结果是把这些子区间中数组元素全部异或起来后得到的结果。 这个题目很简单,一看到此题,就能想到利用异或的特性来解题。这是凌风技术站leetcode题解1310题,简单的数学题。 1.任意一个数异或之后结果为0。 2.0与任何一个数a的异或结 …

Continue reading

hexo教程:搜索SEO+阅读量统计+访问量统计+评论系统

网站做完之后,可以为网站添加一些常用的功能,如能被搜索引擎收录的SEO优化,网站访问量和文章阅读量统计,以及评论系统。 本文参考了: visugar.com这里面说的很详细了。 1. SEO优化 推广是很麻烦的事情,怎么样别人才能知道我们呢,首先需要让搜索引擎收录你的这个网站,别人才能搜索的到。那么这就需要SEO优化了。 SEO是由英文Search Engine Optimization缩写而来, …

Continue reading

[leetcode题解]1323.Maximum 69 Number(6和9组成的最大数字)

本题是个简单题目,是leetcode题解第1232题,给定一个最大四位数,这个四位数每一位要么是6要么是9. 要求是在这个数中最多只能翻转一位,比如有6变成9,或者由9变成6,然后在所有的变换数中,找到最大的那个数返回即可,如题目所说,找6和9组成的最大数字。 题目的思路也很简单,从高位到低位,将第一个遇到的6变成9即可。 不可能把9变成6,因为把9变成6至少就比不变之前小了。 只需要变最高位的6 …

Continue reading

gerrit向使用cherry-pick,快速同步代码到不同分支

在项目开发过程中,我们一般都在mster分支上提交代码和review代码,但是由于交付场景较多,造成多个版本从多个分支构建的情况。此时master上修改一个问题单后,要把该问题同步到其他所有相关分支上。 此时会出现以下问题: 1.若问题单代码较多时,在本地编辑容易出错,浪费开发人员不少时间。 2.通弄不问题单较多时,还会出现较多冲突,这又进一步降低开发效率。 改进方法: 对于使用gerrit来re …

Continue reading

mkdocs 搭建的静态博客如何添加广告

wordpress是php开发的动态博客,有不少人喜欢静态类型博客,比如hexo,hugo等,但是如果要搭建一个教程主题或者文档主题的博客,最好的选择当然是mkdocs。 mkdocs搭建好博客之后直接发布非常的方便,当教程或者文档有了大量的访问之后,很多人都希望能够加入广告比如google或者百度广告,mkdocs加入广告的方式要修改代码。 mkdocs的主题下载后是在python目录下的LIB …

Continue reading

beyond-compare文件相同却显示红色差异

换了电脑,装上beyond-compare之后,ssh与远程工程进行比较,发现两个文件明明是相同的,却显示红色表示有差异。 出现这个问题的原因是beyond-compare中的设置不正确导致的,基于错误的比较规则导致相同的两个文件显示有差异。 解决办法如下: 单击左上角菜单栏的“会话”,在下拉菜单中选择”会话设置”,在弹出的窗口最上面选择”比较”,然 …

Continue reading

[leetcode题解]1329. Sort the Matrix Diagonally(将矩阵按对角线排序)

题目的意思比较明确,题目的输入是一个二维矩阵,行为m列为n。 题目的要求是对于该矩阵,所有元素从左上角到右下角这条直线上进行排序。 最后返回排序后的矩阵即可。 解题思路: 使用c++的话因为有vector等容器,非常方便,总体思路就是找到每一个从左上角到右下角的元素,放入vector中,然后使用sort对这个vector进行快速排序,然后把排序后的元素按顺序更新到矩阵中即可。本文由iaccepte …

Continue reading

vim命令行控制屏幕方法总结

关闭屏幕 适合没有关闭屏幕快捷键的笔记本等设备。 /sys 文件方式: sudo tee /sys/class/backlight/intel_backlight/brightness <<< 0 亮度值根据情况选择,一般 0 即为关闭。 xset 命令方式: xset dpms force off 实际使用时可写成脚本,然后设置自定义快捷键来运行。

ubuntu如何设置开机命令行非界面

关闭图形界面,默认命令行 不推介,不可恢复 sudo systemctl disable lightdm.service 将会直接卸载删除 lightdm,目前没找到直接恢复办法。 推介,安全,可恢复 sudo systemctl set-default multi-user.target 只是修改默认交互目标,开机不会后台启动桌面。 开启图形界面,默认图新界面 针对上述第一条,只能重装 ligh …

Continue reading

linux命令awk 管道操作总结

背景 大致是希望使用 awk 读取一个文本文件,通过空行把文本分割成多个文本块,依次把每个文本块输入到一个程序,并把结果依次输出到指定文件。 先看文件结构: $ ls plus.sh  data.txt 其中, plus.sh 文件内容如下: #!/bin/sh IFS=” “ read a b ((c=a+b))  echo ${c} 代码含义是从标准 …

Continue reading

git提交回退和未提交文件处理

git add 将文件及其修改添加到 Git 索引和追踪当中,也就是将文件快照放入暂存区当中,但我们有时候想要丢弃本次修改过并添加到暂存区的内容,或者需要删除未被追踪的文件。 git checkout git checkout 是把文件从暂存区中恢复到工作区,也就是说源文件如果被修改,再使用 git add 添加到暂存区了,git checkout 无法把他再恢复到源文件,只能恢复到暂存时的状态。 …

Continue reading

Git commit message 基本规范

使用 git 提交版本时,commit message 很重要,在回顾 commit log 时需要清晰的知道每次改动是什么。 在我们写这个提交信息(commit message)时,应该遵守一定书写结构,帮助我们统一规范和理清思路。 一般遵守 thoughtbot 规范,这里有他们的详细说明 5 Useful Tips For A Better Commit Message。 50-charac …

Continue reading

win10中安装python和pip

在win10中如何安装python和pip,可以直接到python官方网站直接下载python安装包www.python.org/downloads/,这里可以选择一个合适的版本,如果是开发用,那就找到对应匹配的版本,如果是自己用,建议直接安装最新稳定版就好。 下载下来之后,运行exe,选择自定义安装,同时勾选一下pip,并设置python安装路径,这个路径等会要用来设置path。 安装完成后,在 …

Continue reading

工作三年,劝劝大家第一份工作千万不要盲目(by cc98不杀)

关于互联网公司,第一份工作一定要选两种:要不公司发展前景好,要不能锻炼个人能力。 解释一下这句看起来像废话的话: 就年薪来说大家的选择往往是:CS相关专业去互联网公司技术岗,进不去的为了高薪去非技术岗。一切选择都是互联网公司至上。 技术岗:个人认为ATT比较好,AT是top2不用多说,头条相对美团滴滴不太受到单一模式限制,发展比较好。 非技术岗:互联网公司的非技术岗,销售HR还行,运营公关pr等等 …

Continue reading

我对科研的理解以及我为什么转cs(by cc98自由的风哦)

初来我浙时,我梦想做一个科学家,别人都说我话不多,适合搞研究,我也觉得是这样。那是一个没有“转cs”这个词的年代,直到今天我也记得当时三表舅劝过我选cs专业好就业,但是我没听,我觉得都来了全国前三的大学了,不去为人类文明发展做研究也太浪费了,其他亲属也都支持我自己做决定。 于是我在大二时选择了电气专业,当时热门的专业是统计和cs,我觉得其他人只不过是为了赚钱,燕雀安知鸿鹄之志,在EE强校浙大我肯定 …

Continue reading

[leetcode题解]1325.Delete Leaves With a Given Value(删除给定值的叶子节点)

给你一棵以 root 为根节点的的二差树和一任意一个value值 ,需要删除树种所有与该值相等的叶子节点 。 caution,一旦去除值为value的叶子节点,其上一个节点点就可能变成新的叶子节点。需要对新的叶子节点做同样的判断处理,即如果值相同,需要重复该操作,一直做到不能删除为止。 题解: 本题目是一个有关树的操作,题目的意思是给定一个二叉树,并给定一个数字,要求在二叉树中搜索所有的 …

Continue reading

服务或者组件去root权限最小化方案分析

很多进程或服务为了系统安全,需要去root运行,说白了就是使用非root用户运行。这样的好处是一旦进程或者服务中有漏洞被入侵了,不会影响到整个系统的安全。 进程或者服务去root的大致流程如下: 在服务脚本中配置服务启动用户(非root用户),这个用户可以在该组件的rpm包安装的时候创建,并分配一定的权限,通常我们在spec文件中进行操作即可。 服务去了root权限之后,会失去很多root特权,导 …

Continue reading

[leetcode]1306.跳跃游戏II

本题目一看题目是一道搜索题,可以用深度优先搜索或者使用广度优先搜索,但是看了一下题目中给定的数字的范围<=5*10^4次方。 这个数量级直接使用深搜会超时,那就使用广度优先搜索好了。 广搜相对来说比较简单,主要是队列入出,分支判断,跳出标准,以上三点基本就能写出来了。 队列直接使用c++内置的队列queue就好了,分支判断主要是包括任何一个坐标他既可以+arr[idx],也可以-arr[i] …

Continue reading

字典树trie-tree纯c语言leetcode实现模板

leetcode c语言trie树前缀实现 应对leetcode大部分字符串快速查找,插入,前缀匹配 该模板方便leetcode后续做题 前缀树主要是通过共享前缀的方式,保证大部分拥有共同前缀的字符串能够方便的被找到,查询。 #define N 27 struct Trie{ struct Trie *ch[N]; bool is_end; }; typedef struct Trie Trie; …

Continue reading

开发日志模块时__VA_ARGS__怎么用va_start,va_end,va_copy用法说明

一.__VA_ARGS__ 使用   在写log模块的时候,一般都会用到变长参数的处理,此时就会涉及到__VA_ARGS__宏,以及va_start, va_end,va_copy等函数来协助完成。   1.__VA_ARGS__只能用在宏定义中,用在函数中,gcc编译不过 2.要特别注意,如果边长参数为空的时候,在打印时会有额外逗号的问题   例如: #define ILOG(fmt, &#82 …

Continue reading

[leetcode题解]542.01 Matrix

给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1:  输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 0 0 0 示例 2:  输入: 0 0 0 0 1 0 1 1 1 输出: 0 0 0 0 1 0 1 2 1 注意: 给定矩阵的元素个数不超过 10000。 给定矩阵中至少有一个元素 …

Continue reading

[leetcode题解] 16. 3Sum Closest

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). Given an array nums of …

Continue reading

vmware启动虚拟机搭建dpdk实验环境

下载vmware和centos镜像文件。 启动vmware并使用镜像文件创建一个虚拟机。 给虚拟机添加一个网卡(NAT模式),然后在host上网络适配器中vmnet8中配置个ip地址和子网掩码,比如设置192.168.2.1,子网掩码为255.255.255.0,然后在vmware的编辑->虚拟网络编辑器,设置vm8,设置其nat属性,网关设置同host主机ip在同一个网段即可,如设置192 …

Continue reading

13. Roman to Integer

罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做&nb …

Continue reading