自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 sed一次插入多行,插入另一文件内容

插入多行插入内容中使用\n隔开多行内容例子:[root@CHT_centos 74 ~]$cat test.txt 12345[root@CHT_centos 75 ~]$sed -i "2a add1: 1\nadd2: 2\n" test.txt [root@CHT_centos 76 ~]$cat test.txt 12add1: 1add2: 2345插入一个文本文件内容[root@CHT_centos 80 ~]$cat test.

2022-02-20 10:42:53 6759

原创 Shell脚本调试方法

1. echo打印输出;2. bash -x 执行脚本;set -x; >> 输出到文件;3.echo打印输出到文件;

2022-02-18 23:39:48 583

原创 Java执行linux命令

Java主要通过Runtime和Process执行Linux命令, Process是Runtime.exec返回值,可以用来对执行过程进行后续操作(获取结果,发送命令,等待结果)。注意点1. linux命令若需要执行长时间,需要调用Process的waitFor方法,等待后台任务执行完毕,否则其会自动退出;2. waitFor方法可以设置超时时间,防止一直等待;3. 执行需要特定环境变量的命令时,可以使用ProcessBuilder的getEnvironment;4. 执行多个命令组合时

2022-02-18 22:57:41 6057

原创 字符串中的第一个唯一字符 && 有效的字母异位词

上周没刷,这周刷两道,记录一下。字符串中的第一个唯一字符问题描述给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。思路思路1:二重循环遍历,每遍历一位,往后面查找,有重复的就continue,没重复的返回结果。时间复杂度O(n2)思路2:定义一个类(字符,索引,出现次数),遍历字符串,统计信息存到Map里面,然后放到优先队列中,然后一个个拿出来,返回第一个出现次数为1的字符索引。O(nlogn)。(代码实现)思路3:两次遍历。一次遍历存储每个字符出现次数,第

2021-10-24 22:20:11 102

原创 反转字符串 && 整数反转

国庆节最后一天,还是得还欠下的债。数组刷完啦,开始刷字符串,刚开始比较简单,就刷两道吧,也就花了1,2个小时。反转字符串题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnhbqj/思路思路:前后一直换代码实现p

2021-10-07 12:06:59 138

原创 旋转图像

题目给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnhhkv/思路思路1:使用一个临时数组,复制原二维数组。然后遍历临时数组,matrix[column][length - row - 1]=temp[row][c

2021-09-26 00:07:12 77

原创 有效的数独

题目请你判断一个 9x9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 ‘.’ 表示。注意:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。思路1. 用三个Map<Integer,<Set<Integer&g

2021-09-13 00:00:24 81

原创 两数之和

今天要追剧,还有视频要看,虽然这道之前做过,有思路,比较快,也就做一道吧。### 题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。### 思路:```思路1:两次遍历,时间复杂度O(n2),空间复杂度O(1)思路2:用map数组,存和为target的另一个值和对应的数.

2021-08-29 21:29:40 78

原创 加一 && 移动零

题目描述:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。思路:1. 换个思路,和题目引导的不一样。把所有0移到数组末尾 = 将所有非0元素移到最前面。时间复杂度O(n)代码:public int[] plusOne(int[] digits) { int carry = 0; int tempSum = digits[digi...

2021-08-22 22:41:07 83

原创 两个数组的交集 II

问题描述给定两个数组,编写一个函数来计算它们的交集。思路1. 遍历一个数组,用HashSet存储,遍历另一个数组,然后判断前一个有没有。时间复杂度O(2n),空间复杂度O(n)。不行,反例[1,2][2,2],遍历顺序不对的话,会有问题。2. 遍历一个数组,用map存储数字和出现次数,然后遍历另一个数组,有相同数字的减1直到0,将相同数字放到list中,最后将list转为数组。2. 暴力法:遍历一个数组,遍历另一个数组看有没有,O(n2)。空间复杂度O(n)。应该有问题,数量可能不对。3

2021-08-15 23:10:43 89

原创 存在重复元素 只出现一次的数字

这两道都比较简单,就一起写了吧。存在重复元素题目描述:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。思路:思路1:遍历,用map存,后面不断从map中找。时间复杂度O(n),空间复杂度O(n)思路2:排序然后扫描。时间复杂度O(nlogn),空间复杂度O(1)代码:// 思路1public boolean containsDuplicate(int[] nums) {.

2021-08-09 00:11:45 154

原创 买卖股票的最佳时机 II 旋转数组

这两道都比较简单,就一起写了吧。题目描述:给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。思路:刚看到以为挺难的题,要用动态规划什么的,不过后面想了一下,遍历然后将升序的部分加起来就好了,算是贪心算法吧。代码:public int maxProfit(int[] prices)

2021-08-03 00:17:58 68

原创 删除排序数组中的重复项

开个坑,准备跟着LeetCode的初级算法课程,一周一道题吧,这种事最难坚持了,每周发个博客,有仪式感一点。首先是题目描述:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。相关标签:数组 双指针思路:刚看到时,首先想到的是,遍历一遍,然后用新数组存,不过题目要求O(1)空间,得换一个思路。然后想到的是,遍历一遍,然后一直把之后

2021-07-25 19:56:50 70

原创 通过后缀表达式进行算数表达式求值(栈的应用)

这是一道面试时遇到的题目,那时没答出来,之后查了相关资料。在这里将自己对于这个问题的理解做下记录,之后便于查阅。题目:给定一个算数表达式,用程序进行算数表达式求值。比如求解1×2+6×(3-4÷5)。思路:先用运算符栈将常见的中缀表达式转化为后缀表达式(逆波兰表达式)。再通过操作数栈进行后缀表达式的求值。后缀表达式:操作数在前,运算符在后,且运算符按优先级从高到低排序。运算符有+,-,×,...

2019-04-30 11:19:54 1460

转载 Ubuntu 安装 JDK8 的两种方式

转载自博客园博客:https://www.cnblogs.com/smiler/p/6939913.html方便日后查看ubuntu 安装jdk 的两种方式:1:通过ppa(源) 方式安装.2:通过官网下载安装包安装.这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级使用ppa/源方式安装1.添加ppasudo add-apt-...

2019-03-01 16:27:30 282

转载 路径中“/” "\" "\\"的区别

转载自https://www.cnblogs.com/William-1234/p/4795137.htmlUnix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是...

2019-03-01 16:26:38 4324

原创 Java引用传递问题

之前写了个关于Java值传递和引用传递的博客,自以为在函数参数传递这方面已经了解得比较清楚了。可是今天在做剑指offer算法题二叉搜索树和双向链表时,提交了好几次代码都没对,最后发现是函数参数传递理解出了问题。这是正确的代码:public TreeNode covertNode(TreeNode root, TreeNode lastlist) { if (root == nul...

2018-10-12 23:45:46 1772

原创 Java中的值传递和引用传递

在我理解里面,java的数据类型主要有4种:基础数据类型,基础数据类型的封装,数组,类。下面做了个测试,看一下他们三者作为方法参数时是值传递还是引用传递。说下我对值传递和引用传递的理解。值传递:将实参的值赋给形参,在方法中改变参数的值不会影响方法外实际参数的值引用传递:将实参的地址赋给形参,在方法中改变参数的值会影响方法外实际参数的值先说下结论:基础数据类型和基础数据类型的封装...

2018-09-27 15:30:02 162

原创 Java密码管理器

    最近过了一遍JavaSE的内容,想写个比较综合的程序巩固一下之前的学习内容。在平时生活中,各个地方都需要账号密码,常常会忘记好久没等网站的账号密码,故用Java实现了一个比较简单的密码管理器,可以实现账号密码的增删改。    在这小应用中,用了Java awt和swing的实现了界面。而数据存在了MySQL数据库中,练习了下JDBC编程。写完之后,用eclipse导出了可执行jar包。  ...

2018-06-01 09:22:54 1708

原创 新版Cadence打开PSpice8.0工程文件

    本人需要打开历史遗留下来的PSpice8.0工程文件。主要需要参考里面的.sch原理图文件。    本人电脑是win7系统,然后试着装了一下PSpice8.0,结果提示系统不对。网上搜了一下,PSpice不支持winXP以上的系统。可是手头没有winXP系统的电脑(毕竟XP快要被淘汰了)。于是上网搜了个最新的Cadence16.6(Cadence间接收购了PSpice),安装完之后用Cap...

2018-03-30 13:37:16 1875

原创 Java命令行运行带包的文件

今天想要将在eclipse下建立的工程在命令行下运行一下,却死活不成功,百度了一下,运行成功,写篇博客记录一下,省的之后遇到这个问题再到网上找解决办法。本工程在com.CHT包下,有三个文件GameLauncher.java,GuessGame.java和Player.java。1.建立对应的文件夹目录,例如我的文件夹目录为GuessNum\src\com\CHT2.再命令行下移动到GuessNu...

2018-03-20 14:33:50 1325

原创 Java在windows下命令行方式用JAR方式打包程序

《head first Java》第17章描述了Java用JAR方式打包的方法,在windows系统下试了一下,发现不能成功。于是上网搜相关资料,花了挺多时间的,终于打包成功。故记录一下,省的之后再花时间。打包程序/生成JAR1.将所有类文件都放在classes(名字可改)目录中2.创建MANIFEST.MF来描述哪个类带有main()方法该文件下输入这一行:Main-Class: MyFirst...

2018-03-12 21:48:03 1033

原创 Java开发环境配置

下载安装包及安装1.首先百度搜索jdk下载,建议去Orcle官网下载。2.进入Orcle 的官网后,点击选择Downloads,一般选择Java SE(标准版本足够),Java EE(企业版),Java ME(微小版),可根据需要选择。建议下载标准版。3.本人下载的版本为jdk-9.0.4_windows-x64_bin.exe4.安装完成环境变量配置步骤1.首先右键点击我的电脑,选择属性,点击左...

2018-03-01 20:01:50 352

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除