渐悟 随心录

做自己认为正确的事

3. 无重复字符的最长子串

LeetCode 3. 无重复字符的最长子串

题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 1 2 3 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 1 2 3 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 1 2 3 4 输入: "pwwkew"...

跟我学Linux——第六日

第5章 用户身份与文件权限

Linux 是一个多用户、多任务的操作系统。 所以,对权限很“讲究” 用户身份 命令 useradd 创建用户(会创建一个同名的基本用户组) groupadd 创建用户组(组分为基本组和扩展组,前者只有一个,后者为多个) usermod 修改用户属性 id 用户 查看用户信息 passwd 修改密码等信息 userdel 删...

1. 两数之和 Java版

LeetCode 1. 两数之和

问题描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 1 2 3 4 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返...

跟我学Linux——第五日

第4章 Vim编辑器与Shell命令脚本

Vim文本编辑器 Vim的重要性不再赘述 Vim有三种模式:命令模式、输入模式、冒号模式 关系如下图: 切记:输入模式和冒号模式不能相互转换 命令模式下命令: 冒号模式下: 编写Shell脚本 基本概念 脚本要以#!/bin/bash开头 # 为注释 参数接受 $0 当前脚本名称 $# 接受参数个数 $* 所有参数 $? 上次命令...

跟我学Linux——第四日

第3章 管道符、重定向与环境变量

本节主要学习了管道符和重定向,任意门,很有趣的比喻。 输入输出重定向 输出重定向 将要输出到屏幕上的信息写入到指定文件 ’>’ 清空 ’»’ 追加 ‘2>’ 输入错误信息 ‘&>’ 无论正确错误,均输入 输入重定向 把文件导入到命令中 ’<’ 将文件作为命令的标准输入 例:wc -l 1.txt 输出 1...

跟我学Linux——第二、三日

第1章 部署虚拟机环境和安装Linux系统 第2章 新手必须掌握的Linux命令

跟我学Linux第二日 部署虚拟机环境和安装Linux系统 省略,详见第一章 RPM和Yum RPM包括源代码和安装规则,能自动分析依赖关系 Yum为软件仓库,即RPM包的集合,能自动解决依赖关系 关系: !()[https://i.loli.net/2019/07/10/5d253aea094d790787.png] systemd 初始化进程 RHEL 7 系统与之前...

算法时空第6讲 归并排序

归并排序

归并排序采用了分而治之的策略和迭代的方法,何为分而治之? 分:将原问题分成若干小问题 治:分别处理小问题 合:以小问题的解构建原问题的解 难在两处: 如何巧妙地“分”? 如何巧妙地“合”? 下图为归并排序思路: 先分再合 代码实现: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23...

算法时空第5讲 插入排序

插入排序

对应《算法导论》第二章 类比扑克牌,假设我们现在手里已经有了几张牌,再拿到新的一张。则需要与已拿到的对比,并插入。 特点:小规模可以,大规模效率太低 这是一个就地算法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 int[] arr = {0,5,2,4,6,1,3}; //排序数组 //key比...