LeetCode中一道题目如下 给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。...如果不存在最后一个单词,请返回 0 。 说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。...,更重要的是学习到了几种删除列表中元素的方法,值得做一下笔记 解题思路 先说下我的思路:题目要求给一个字符串s,s仅包含字母和空格字符,要求返回最后一个单词的长度,考虑如下几点 如果s是空字符,即s...i]为空 del temp[i] # 则删除该索引对应的值,也就是删除temp[i] i -=1 # 删除之后,由于列表整体长度变小了...然后遍历新列表,当遇到某个元素的值为1时,就在原列表中把这个元素删掉(使用列表的remove方法删除),因为remove在删除元素时,只会删掉遇到的第一个目标元素,所以我们继续遍历新列表,如果再遇到
搜索 n/N 正反向下一个 光标处单词搜索 Vim高亮搜索 搜索大小写敏感 搜索进阶 Vim正则表达式搜索 查找在行首的特定串 查找在行尾的特定串 匹配特定行 Vim基本搜索命令 / 或者?...n/N 正反向下一个 在搜索模式下可以对Vim打开的整个文本内容进行搜索,当按下 n 时可以继续正向查找下一个相匹配的目前单词。N 的作用与 n 相反,是往上反向搜索目标单词。...假设光标当前所有单词为the,那么在当前光标位置执行命令 * 相当于搜索命令 /,命令 # 等同于命令 ?。...搜索进阶 在搜索命令前还可以增加一个整数,用于表示搜索目标出现的位置。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
当一行中各单词间的空格多于一个时,可以如下分割: @array=split(/+/,$line); 注:split函数每次遇到分割Perl正则表达式中模式,总是开始一个新单词,因此若$line以空格打头...但其可以区分是否真有单词,如若$line中只有空格,则@array则为空数组。且上例中TAB字符被当作一个单词。注意修正。...6、锚模式 锚描述 ^或\A仅匹配串首 $或\Z仅匹配串尾 \b匹配单词边界 \B单词内部匹配 例1:/^def/只匹配以def打头的字符串,/$def/只匹配以def结尾的字符串,结合起来的/^def...) 匹配的循环: while(“balata”=~/.a/g){ $match=$&; print(“$match\n”); } 结果为: ba la ta 当使用了选项g时,可用函数pos来控制下次匹配的偏移...string2的最后一个字符;当string1中同一个字符出现多次时,将使用第一个替换字符。
每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过M−1,软件会将新单词存入一个未使用的内存单元;若内存中已存入M 个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。...假设一篇英语文章的长度为N个单词。给定这篇待译文章,翻译软件需要去外存查找多少次词典?假设在翻译开始前,内存中没有任何单词。 输入输入文件共2行。每行中两个数之间用一个空格隔开。...第一行为两个正整数M和N,代表内存容量和文章的长度。 第二行为N个非负整数,按照文章的顺序,每个数(大小不超过1000)代表一个英文单词。...文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。 对于10%的数据有M = 1,N ≤ 5。 对于100%的数据有0 的内存状况: 空:内存初始状态为空。
当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。...4.1.2 非空块:K & R 风格 对于非空块和块状结构,大括号遵循Kernighan和Ritchie风格 (Egyptian brackets): 左大括号前不换行 左大括号后换行 右大括号前换行...当存在连续自动换行时,缩进可能会多缩进不只4个空格(语法元素存在多级时)。一般而言,两个连续行使用相同的缩进当且仅当它们开始于同级语法元素。...当整个Javadoc块能容纳于一行时(且没有Javadoc标记@XXX),可以使用单行形式。...除了第一个段落,每个段落第一个单词前都有标签 ,并且它和第一个单词间没有空格。
当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。...4.1.2 非空块:K & R 风格 对于非空块和块状结构,大括号遵循Kernighan和Ritchie风格 (Egyptian brackets): 1、左大括号前不换行 2、左大括号后换行 3、右大括号前换行...当存在连续自动换行时,缩进可能会多缩进不只4个空格(语法元素存在多级时)。一般而言,两个连续行使用相同的缩进当且仅当它们开始于同级语法元素。...当整个Javadoc块能容纳于一行时(且没有Javadoc标记@XXX),可以使用单行形式。...除了第一个段落,每个段落第一个单词前都有标签 ,并且它和第一个单词间没有空格。
当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。...当程序无法正确处理非ASCII字符时,它自然无法正确运行, 你就会去fix这些问题的了。...4.1.2 非空块:K & R 风格 对于非空块和块状结构,大括号遵循Kernighan和Ritchie风格 (Egyptian brackets): 左大括号前不换行 左大括号后换行 右大括号前换行...当存在连续自动换行时,缩进可能会多缩进不只4个空格(语法元素存在多级时)。一般而言,两个连续行使用相同的缩进当且仅当它们开始于同级语法元素。...当整个Javadoc块能容纳于一行时(且没有Javadoc标记@XXX),可以使用单行形式。
当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。...4.1.2 非空块:K & R 风格 对于非空块和块状结构,大括号遵循 Kernighan 和 Ritchie 风格 (Egyptian brackets): 左大括号前不换行 左大括号后换行 右大括号前换行...当存在连续自动换行时,缩进可能会多缩进不只4个空格(语法元素存在多级时)。一般而言,两个连续行使用相同的缩进当且仅当它们开始于同级语法元素。...当整个Javadoc块能容纳于一行时(且没有Javadoc标记@XXX),可以使用单行形式。...除了第一个段落,每个段落第一个单词前都有标签,并且它和第一个单词间没有空格。
esc + B # 向左移动一个单词 esc + F # 向右移动一个单词 ctrl + XX # 在上次光和当前光标所在字符间跳转 esc + T # 交换光标位置前的两个单词...ctrl + U # 剪切光标前所有字符 ctrl + Y # 粘贴ctrl+U/K剪切的内容 ctrl + W # 删除光标前一个单词 ctrl + D...# 删除光标所在字符(光标右侧) #不建议使用 ctrl + H # 删除光标前字符(光标左侧) 3....ctrl + S # 锁住终端,阻止屏幕输出 ctrl + Q # 解锁终端,允许屏幕输出 7.补全/补齐 tab # 单击tab实现指令补全,仅当通过残缺的指令能确定唯一的完整指令时才可以实现补全...# 双击tab实现档案补全,当通过残缺的指令无法确定唯一完整指令时,显示所有对应指令
非空白字G移动到文档最后一行gg移动到文档第一行v进入光标模式,配合移动键选中多行Ctrl+f向下翻页Ctrl+b向上翻页u撤销上一次操作``回到上次编辑的位置dw删除这个单词后面的内容dd删除光标当前行...softtabstop设置为0 revins重置 ruler重置 showmatch重置 formatoptions使用空值 下面的选项值不变,但却被禁用 lisp indentexpr cindent...8 softtabstop: 表示在编辑模式的时候按退格键的时候退回缩进的长度当使用 expandtab 时特别有用。...当设置成 expandtab 时缩进用空格来表示noexpandtab 则是用制表符表示一个缩进 expandtab 选项,用来控制是否将 Tab 转换为空格, 但是这个选项并不会改变已经存在的文本...:set smartindent 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时这种缩进形式能正确的识别出花括号,当遇到右花括号(}),则取消缩进形式。
它显示了特定的文件和匹配结果 linuxmi@linuxmi:~/www.linuxmi.com$ grep "linuxmi" * 要仅输出包含匹配模式的文件,我们使用“ -l” 如果您知道文件名可以输出所有匹配项...grep "linuxmi" test test1 test2 匹配文件中的整个单词。 默认情况下,即使在子字符串中找到了Grep,也会输出所有出现的某种特定模式。...它使您能够以语句形式编写简单有效的程序,以在文件中搜索特定模式,并在找到匹配项时执行操作。 当使用' awk '时,我们将花括号括起来。 模式和动作都形成规则,整个awk程序都用单引号引起来。...要仅替换特定数量的出现次数,请在'g'处指定数字。...例如,要删除文件的第5行: linuxmi@linuxmi:~/www.linuxmi.com$ sed '5d' linuxmi.txt 要删除最后一行: linuxmi@linuxmi:~/www.linuxmi.com
ndd 删除当前行,以及其后的 n-1 行 x 删除一个字符,光标后 X 删除一个字符,光标前 Ctrl+u 删除输入模式下的输入的文本...设置为0 set noai set nosi softtabstop设置为0 revins重置 ruler重置 showmatch重置 formatoptions使用空值 下面的选项值不变,但却被禁用...8 softtabstop: 表示在编辑模式的时候按退格键的时候退回缩进的长度当使用 expandtab 时特别有用。...当设置成 expandtab 时缩进用空格来表示noexpandtab 则是用制表符表示一个缩进 expandtab 选项,用来控制是否将 Tab 转换为空格, 但是这个选项并不会改变已经存在的文本...:set smartindent 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时这种缩进形式能正确的识别出花括号,当遇到右花括号(}),则取消缩进形式。
接着处理下一行。它是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。 1.2sed选项 -n :使用安静(silent)模式。...1.3sed函数 a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)d :删除,因为是删除啊,所以 d 后面通常不接任何内容i :插入, i 的后面可以接字串,而这些字串会在新的一行出现...它允许你创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有其他的许多功能。...,而是把单词倒过来,666。...测试时: 补充1:条件表达式里面如果是非空则是true,空则是false,例如[ magic ]则是true,[ ]则是false,可以$?进行验证。
如果文件省略,或者文件为“-”,则读取标准输入。 应用实例如下。 (1)显示文本文件的内容。 cat 命令一个最简单的用处是显示文本文件的内容。...--one-file-system: 递归删除一个层级时,跳过所有不符合命令行 参数的文件系统上的文件。...n:向前查找下一个匹配的文本。N:向后查找前一个匹配的文本。2.向后搜索 ?:使用模式进行搜索,并定位到前一个匹配的文本。 n:向后查找下一个匹配的文本。 N:向前查找前一个匹配的文本。...4.单行导航 j:向前移动一行。 k:向后移动一行。5.其他导航 G:移动到最后一行。 g:移动到第一行 q/ZZ:退出 less 命令。6.编辑文件v:进入编辑模式,使用配置的编辑器编辑当前文件。...7.标记导航当使用 less 命令查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置。ma:使用 a 标记文本的当前位置。'a:导航到标记 a 处。
线下 这将选择要添加到该行下方的垂直间距的百分比。 展开式 这将选择要添加到字符的水平间距的百分比。 固定空白 仅当您选择了按比例隔开的字体时,此选项才适用。...与下一行一起打印 如果启用,Source Insight将在打印时尝试将文本与下一行保持在同一页面上。...您可以使用此列表将搜索限制为仅特定类型的文件或仅当前文件。如果“项目窗口”可见,那么您也可以使用此列表指定在“项目窗口”中选择的文件。 搜索方式 您可以从此列表中选择要使用的搜索方法。...例如,如果您选择一个结构的成员并查找其引用,则搜索结果将仅包含对该特定结构的该特定成员的引用-而不仅仅是任何等效的字符串。...关键字搜寻结果 当您执行关键字搜索时,“搜索结果”将列出同时包含关键字的行块。 这为您提供了有关比赛的一些背景信息。 ? 搜索界面 ? 文件树 ? 这个是文件夹的 右键菜单 ? 打开左栏的符号树 ?
Python 解释器读取整个程序,确定其中每个单词的含义。例如,看到单词 print 时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。...这种信息是在括号内提供的。 函数 title() 不需要额外的信息,因此它后面的括号是空的。 title() 以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用!...仅当两个测试都没有通过时,使用 or 的表达式才为 False 。 5.2.6 检查特定值是否包含在列表中 有时候,执行操作前必须检查列表是否包含特定的值。...如果知道最终要测试的条件,应考虑使用一个 elif 代码块来代替 else 代码块。这样,你就可以肯定,仅当满足相应的条件时,你的代码才会执行。...5.4.2 确定列表不是空的 在运行 for 循环前确定列表是否为空很重要。 下面在制作比萨前检查顾客点的配料列表是否为空。
4.1.2 非空块:K & R 风格 对于非空块和块状结构,大括号遵循 Kernighan 和 Ritchie 风格 (Egyptian brackets): 左大括号前不换行 左大括号后换行 右大括号前换行...4.1.2 非空块:K & R 风格 对于非空块和块状结构,大括号遵循 Kernighan 和 Ritchie 风格 (Egyptian brackets): 左大括号前不换行 左大括号后换行 右大括号前换行...对于多行的/ … /注释,后续行必须从开始, 并且与前一行的对齐。 以下示例注释都是OK的。...现在还没有特定的规则或行之有效的约定来命名注解类型。 名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的, 比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。.... */ 基本格式总是OK的。当整个Javadoc块能容纳于一行时(且没有Javadoc标记@XXX),可以使用单行形式。
:x:类似于:wq,保存退出,仅当文件被修改时才写入 :q:如果未进行任何更改,不保存退出 :q!...w: 前移一个单词,光标停在下一个单词开头;W: 移动下一个单词开头,但忽略一些标点;e: 前移一个单词,光标停在下一个单词末尾;E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点;b: 后移一个单词...H: 移到屏幕最顶端一行。M: 移到屏幕中间一行。L: 移到屏幕最底端一行。 复制与粘贴 p: 在光标之后粘贴。P: 在光标之前粘贴。d: 删除(剪切)在可视模式下选中的文本。...d或者D: 删除(剪切)当前位置到行尾的内容。d0: 删除(剪切)当前位置到行首的内容d1G或者dgg: 剪切光标以上的所有行。dG: 剪切光标以下的所有行。y: 复制在可视模式下选中的文本。...:earlier 7m:回到7分钟前 :later 7s:前进7秒 ctrl + r:重做最后的改动。 U:取消当前行中所有的改动。
x 上次出现的位置的后一个字符 ; - 重复之前的f、t、F、T操作 , - 反向重复之前的f、t、F、T操作 } - 移动到下一个段落 (当编辑代码时则为函数/代码块) { - 移动到上一个段落 (...当编辑代码时则为函数/代码块) zz - 移动屏幕使光标居中 zt - position cursor on top of the screen zb - position cursor on bottom...Ctrl + h - 在插入模式下,删除光标前的字符 Ctrl + w - 在插入模式下,删除光标前的单词 Ctrl + j - 在插入模式下,另起一行 Ctrl + t - 在插入模式下,向右缩进,...gP - 在光标前粘贴并把光标定位于粘贴的文本之后 dd - 剪切当前行 2dd - 剪切 2 行 dw - 剪切当前单词 diw - 删除光标处的单词 daw - 删除光标处的单词及其前后的空格 :... : - 上次执行的命令 . - 上次插入的文本 - - 上次剪切的短于一行的文本 = - 表达式寄存器 _ - 黑洞寄存器 标记 :marks - 标记列表 ma - 设置当前位置为标记
,移动到第n行 单词为单位移动:w 正向移动到相邻单词的首字符、b 逆向移动到相邻单词的首字符、e 正向移动到相邻单词的尾字符、 ge 逆向移动到相邻单词的尾字符;配合查找字符的方式移动:fa 正向移动到第一个字符...word 向上查找word; n 重复前一次查找 ; N 重复前一次查找,反向进行 删除:x 向后删除一个字符; X 向前删除一个字符; nx n为数字,向后删除n个字符; dd 删除当前行; ndd...n为数字,删除n行 复制:yy 复制当前行; nyy n为数字,复制向下的n行 ; y1G 复制从第一行到当前行; yG 复制当前行到最后一行 ; y0 复制从行首到光标之间的字符; y$ 复制光标所在到行尾之间的字符...小数点,重复前一个操作 编辑:i 光标所在处插入; I 当前行第一个非空字符出插入; a 光标下一个字符开始; o 下一行开始; O 上一行开始 : 进入编辑模式, esc 退出编辑模式; 保存::w...为空打开当前文件 vim 常用配置选项: set nu : 显示行号 , 取消:set nonu set ruler: 显示状态栏,右下角, 取消: set noruler 等,具体使用 可参见 我的
领取专属 10元无门槛券
手把手带您无忧上云