首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

LeetCode笔记:283. Move Zeroes

大意: 给出一个数字数组,写一个函数来移动其中的所有“0”到末尾,并保持其他非零元素的相对顺序不变。...思路1: 首先想到了一个比较笨的方法,就是循环从头开始遍历数组中的每个数,遇到“0”,就将后面的所有数的位置往前移动一个,然后把最后一个数置为“0”,当进行完这样一次操作后,还要检测一下移动到前面来的下一位数是不是为...nums) { int count = nums.length; for (int i = 0; i < count;) {// 当前数是1,放到最后去,后面的数往前...还是从数组的第一个数开始循环,当发现“0”以后,立马在它后面找到第一个不为“0”的数字,然后交换这两个数字的位置,其余的数字都不用动,这样应该简单一些。...= 0) {// 找到后面第一个不为0的数 int value = nums[i]; nums[i] =

38920

vim 退出命令(保存、放弃保存)_linux保存并退出vim

插入模式——按i进入, 左下角显示–INSERT–,这个是insert单词的第一个字母,这样好记,编辑文件时很常用。...其他命令如下: h # 左移一个字符 l # 一个字符,通常用w向右移动到下一个单词的第一个字母 j # 上一个字符 k # 下移一个字符 #注意hljk...前都可以在前面加上数字n,从而实现跨越的移动。...H # 使光标移动到屏幕的顶部,head M # 使光标移动到屏幕的中间,middle L # 使光标移动到屏幕的底部 # 还可以使用[PU] [PD]实现上下翻页...:nd # 删除从当前行开始的n行,n代表数字 :n1,n2 d # 删除n1行开始到n2行结束的所有内容 dG # 删除从当前行开始到文件末尾的所有内容 :.

19.3K60

Linux 常用配置及硬件检测命令 VIM编辑器操作基础命令大全

一般模式常用操作 【h(或向左方向键)】 光标左移一个字符 【j(或向下方向键)】 光标下移一个字符 【k(或向上方向键)】 光标上一个字符 【l(或向右方向键)】 光标右移一个字符 【[Ctrl]...+ f】 屏幕向下移动一页(相当于Page Down键) 【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键) 【[0]或[Home]】 光标移动到当前行的最前面 【[$]或[End...]】 光标移动到当前行的末尾 【G】 光标移动到文件的最后一行(第一个字符处) 【nG】 n为数字(下同),移动到当前文件中第n行 【gg】 移动到文件的第一行,相当于"1G" 【...word】 在文件中查找内容为word的字符串(向上查找) 【[n]】 表示重复查找动作,即查找下一个 【[N]】 反向查找下一个 【:n1,n2s/word1/word2/g】 n1、n2为数字,在第...n1行到第n2行之间查找word1字符串,并将其替换成word2 【:1,s/word1/word2/g】从第一行(第n行同理)到最后一行查找word1注册,并将其替换成word2【:1,s/word1

78520

Linux 学习VI编辑器

tr [a-z] [A-Z] 在命令模式下,可以输入如下命令: i:在当前光标的前面插入一个字符 I:移动光标到行首 a:在当前光标的后面插入一个字符 A:移动到行末 o:移动到下一行 O:移动到上一行...按 0 (数字零):移动文章的开头。[常用] 按 G:移动到文章的最后。[常用] 按 w:光标跳到下个word的开头。[常用] 按 e:光标跳到下个word的字尾。...[常用] 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首...vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi...为一个字母,n为一个数字 "?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

7.6K30

BAT面试算法进阶(1)--两数之和

解决方案: 题目大意:给定2个非空链表来表示2个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字,将两数相加返回一个新的链表.你可以假设除了数字0之外,这2个数字都不会以零开头. 2.1...Snip20180810_119.png 2.2 算法 就如同小学数学计算2个数相加一般,我们首先从低位有效位计算,也就是L1,L2的表头第一个位置开始相加.我们进行的十进制相加,所以当计算的结果大于...将x设为节点的p的值.如果P已经到达L1的末尾,则将其值设置为0; 将y设置为节点q的值,如果q已经到达L2的末尾,则将其值设置为0; 求和 sum = x+y+carry; 更新进位 carry =...sum/10; 创建一个新的节点,将其设置为下一个节点.并将当前节点移动到下一节点 同时,将p,q移动到下一个节点位置....检查carry 是否等于1,如果等于1则往列表中追加数字1到新节点中.

19610

Linux学习笔记之vim操作指令大全

; vim +num file: 从第num行开始; vim +/string file: 打开file,并将光标停留在第一个找到的string上。...h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符...w: 前一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...0: 移动到行首。 g0: 移到光标所在屏幕行行首。 ^: 移动到本行第一个非空白字符。 g^: 同 ^ ,但是移动到当前屏幕行第一个非空字符处。 :移动到行尾。...vimgrep前面可以加数字限定搜索结果的上限,如 :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。 其实vimgrep在读纯文本电子书时特别有用,可以生成导航的目录。

2.7K20

Linux-vim

2. vim常用命令 2.1 一般模式中的命令 2.1.1 光标移动 命令 说明 h,← 光标左移一个字符 j,↓ 光标下移一个字符 k,↑ 光标上一个字符 l,→ 光标右移一个字符 n[h,j,k,...Crtl + u 屏幕向上移动半页 + 光标移动到非空格符的下一列 - 光标移动到非空格符的上一列 n n表示数字,再按下空格键光标向右移动n个字符 0,[Home] 光标移动到第一个字符...$,[End] 光标移动到最后一个字符 H 光标移动到屏幕第一行第一个字符 M 光标移动到屏幕中央一行的第一个字符 L 光标移动到屏幕最后一行的第一个字符 G 光标移动到文件最后一行 nG n为数字,...光标移动到文件第n行 gg 光标移动到文件第一行,相当于1G n n为数字,光标下移n行 2.1.2 查找与取代 命令 说明 /word 向光标之后查找”word“ ?...,向后删除n个字符 nX n为数字,向前删除n个字符 dd 删除光标所在行 ndd n为数字,删除光标所在的向下n行 dnG n为数字,删除光标所在行到第n行 dG 删除光标所在行到最后一行 0G 删除光标所在位置到该行第一个字符

6.2K11

linux下编辑VI窗口插入与编辑命令

打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处...光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上n...为一个字母,n为一个数字 "?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyl:将当前行及其下n个字符保存到寄存器?中,其中?...为一个字母,n为一个数字 "?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。...│ ├─────┼──────┤ │{     │到段落的开头│ ├─────┼──────┤ │}     │到段落的末尾│ └─────┴──────┘ 四、删除文本 ┌───┬───

4.2K20

Vim查找替换

回车后Vim会将光标移动到每一次”foo”出现的位置,并提示按下y表示替换,n表示不替换,a表示替换所有,q表示退出查找模式, l表示替换当前位置并退出。...E与Y是光标移动快捷键,参考: Vim中如何快速进行光标 1、 : s/vivian/sky/ #替换当前行第一个 vivian 为 sky 2、 : s/vivian/sky/g #替换当前行所有...at position 19: …ivian/sky/ #̲替换第 n 行开始到最后一行中…s/vivian/sky/g #替换第 n 行开始到最后一行中每一行所有 vivian 为 sky (n 为数字...替换行中首次出现的字符串 str1 2、 : s/str1/str2/g #用字符串 str2 替换行中所有出现的字符串 str1 3、 : s/str1/str2/g #用字符串 str2 替换正文当前行到末尾所有出现的字符串...str1 4、 :1,., s/str1/str2/g #用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1 4、 :1, s/str1/str2/g #用字符串 str2 替换正文中所有出现的字符串

2.9K10

3. Vim 操作

移动和跳转 h 或 左箭头键:光标向左移动一个字符 j 或 向下箭头:光标向下移动一个字符 k 或 向上箭头:光标向上移动一个字符 l 或 向右箭头:光标向右移动一个字符 n :n表示数字...,按下数字后再按空格,光标会向右移动这一行的n个字符 n :n为数字,光标向下移动n行 0 或 功能键[Home]:光标移动到本行开头 $ 或 功能键[End]:光标移动到本行末尾 G:光标移动到最后一行...:n 或 nG:n为数字,光标移动到第n行 gg:光标移动到第一行,相当于1G ---- 3.4 查找与替换 /word:向光标之下寻找第一个值为word的字符串。...word:向光标之上寻找第一个值为word的字符串。...n:重复前一个查找操作 N:反向重复前一个查找操作 :n1,n2s/word1/word2/g:n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2 :1,$s

41540

vim 学习笔记(二)—— 基本导航命令

导航命令 命令模式下: 移动光标 j: 下移一行 k: 上一行 l: 右移一列 h: 左移一列 Ctrl+f: 下翻页 Ctrl+f: 上翻页 单词切换 w: 下一个单词,分辨标点 W:...$: 光标移至行尾 num - gg: 移动至num行第一个单词 num - G: 移动至num行第一个单词 :num - Enter: 移动至num行第一个单词 :$ - Enter: 移动至num行第一个单词...word的开始处 W 移动到下一个WORD的开始处 e 移动到当前word的末尾 E 移动到当前WORD的末尾 b 移动到前一个word的开始处 B 移动到前一个WORD的开始处...word和WORD的区别 word由一系列的字符、数字和下划线构成,而WORD是由非空白符组成的字符串,有空格分开。...使用ctags来有效地在源码中跳转 当然使用之前,需要先行安装ctags包; 在源码文件夹中,使用ctags *.c来生成一个文件名为tags的信息tags文件; 然后vim main.c

1.1K20

linux下编辑VI窗口插入与编辑命令

打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处...光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上n...为一个字母,n为一个数字 "?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyl:将当前行及其下n个字符保存到寄存器?中,其中?...为一个字母,n为一个数字 "?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。...│ ├─────┼──────┤ │{     │到段落的开头│ ├─────┼──────┤ │}     │到段落的末尾│ └─────┴──────┘ 四、删除文本 ┌───┬───

4.2K60

vim编辑器操作汇总

-P[N] 打开 N 个标签页 (默认值: 每个文件一个)   -o[N] 打开 N 个窗口 (默认值: 每个文件一个)   -O[N] 同 -o 但垂直分割   + 启动后跳到文件末尾...在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。 末行模式   末行模式也称ex转义模式。...插入光标后一个字符 A: 插入行未 o: 向下新开一行,插入行首 O: 向上新开一行,插入行首 进入命令模式: ESC:从插入模式或末行模式进入命令模式 移动光标: h: 左移 j: 下移 k: 上...l: 右移 M: 光标移动到中间行 L: 光标移动到屏幕最后一行行首 G: 移动到指定行,行号 -G w: 向后一次移动一个字 b: 向前一次移动一个字 {: 按段移动,上 }: 按段移动...,下移 Ctr-d: 向下翻半屏 Ctr-u: 向上翻半屏 Ctr-f: 向下翻一屏 Ctr-b: 向上翻一屏 gg: 光标移动文件开头 G: 光标移动到文件末尾 删除命令: x: 删除光标后一个字符

1.4K70

100 条 Linux vim 命令备忘单,收藏起来随时备用!

删除突出显示的文本 dd删除一行文本 dw删除一个词 D删除从光标所在位置到行尾的所有内容 d0删除从光标所在位置到行首的所有内容 dgg删除从光标所在位置到文件开头的所有内容 dG删除从光标所在位置到文件末尾的所有内容...w移动到下一个单词的开头 e移动到单词的末尾 0跳到行首 $跳到行尾 ^跳转到该行的第一个(非空白)字符 Ctrl + b向后移动一个全屏 Ctrl + f向前移动一个全屏 Ctrl + d向前移动...1/2 个屏幕 Ctrl + u向后移动 1/2 个屏幕 Ctrl + e将屏幕向下移动一行(不移动光标) Ctrl + y将屏幕上一行(不移动光标) Ctrl + o通过跳跃历史向后移动 Ctrl...+ i在跳跃历史中前进 H移动到屏幕顶部(H=high) M移动到屏幕中间(M=middle) L移动到屏幕底部(L=low) 搜索和替换命令备忘录 / 向前搜索 ?...command在 shell 中运行“命令”并将 STDOUT 粘贴到文件中 总结 vim用的好,文本编辑一大跑!

1.5K20

不会vim?看这篇就够了!

3 作用:同时打开多个文件 ---- 四、命令模式 1、光标移动 ①光标移动到行首 按键:shift + 6 即输入 ‘^’ ②光标移动到行尾 按键:shift + 4 即输入 ‘$’ ③光标移动到首行...按键:gg ④光标移动到末行 按键:G ⑤快速移动到指定的行 按键:数字G ⑥翻屏 (1)向上翻屏: 按键: ctrl + b (before) 或 PgUp (2)向下翻屏: 按键: ctrl...,然后按下 ↑↓←→ 方向键来选中需要复制的区块, 按下y键进行复制 image.png ④粘贴: 按键:p 3、剪切/删除 ①剪切/删除光标所在行 按键:dd (删除之后下一行上) 注意:如果剪切了不粘贴就是删除的效果...②剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行 按键:数字dd (删除之后下一行上) ③剪切/删除光标所在的当前行光标之后的内容,但是删除之后下一行不上 按键:D (删除之后当前行会变成空白行...作用:替换光标所在行的第一处符合条件的内容 :s/要替换的关键词/新的内容/g 作用:替换光标所在行的全部符合条件的内容 :%s/要替换的关键词/新的内容 作用:替换整个文档中每行第一个符合条件的内容

2.6K00
领券