自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

...

用代码改变世界

  • 博客(26)
  • 收藏
  • 关注

原创 【gitlab】修改linux上gitlab端口

step1:sudo vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.ymlstep2:sudo vim /etc/gitlab/gitlab.rb external_url写的是你安装gitlab机器的ipstep3:重启gitlabsudo gitlab-ctl restart

2021-04-23 13:41:06 140

原创 【链表-简单】203. 移除链表元素(三种方法)

【题目】给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。【示例 1】输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]【示例 2】输入:head = [], val = 1输出:[]【示例 3】输入:head = [7,7,7,7], val = 7输出:[]【提示】列表中的节点在范围 [0, 104] 内1 <= Node.val &lt

2021-04-10 14:44:28 222

原创 【Python/notebook】notebook安装、配置、更改工作目录及使用

1、【安装】pip install notebook2、【启动】在命令行下输入jupyter notebooknotebook 服务器启动可以选择在cmd命令行下面启动,启动之后不要关闭cmd窗口,执行的效果图如下所示:3、【更改notebook工作路径】首先生成配置文件jupyter notebook --generate-config查看生成的配置文件所在路径红框就是生成的配置文件所在路径,右击->编辑->选择配置文件:找到“notebook_dir”所在行

2021-04-10 11:09:39 2698

原创 【Python/CSV】csv文件的读写

CSV文件读取:【逐行读取】# coding=utf-8import csvwith open(r"D:\files\test.csv",mode='r') as csvFile: reader = csv.reader(csvFile) for row in reader: print(row)【读取某列】with open(r"D:\files\test.csv",mode='r') as csvFile: reader = csv.reader(csvF

2021-04-09 13:27:36 98

原创 【NLP】Paddle2.0新时代:(一)安装

1、安装安装paddle2.0包,这里我使用的是CPU版本python -m pip install paddlepaddle==2.0.0 -i https://mirror.baidu.com/pypi/simple出现下面的画面说明安装成功!2、验证是否安装成功import paddleprint("paddle " + paddle.__version__)输出paddle的版本号:paddle 2.0.0说明paddle2.0安装成功!...

2021-04-09 08:46:43 377

原创 【Python/csv】数据以追加的形式保存到一个存在的csv文件中+解决时间格式写入csv文件出错

话不多说,直接上代码!name=['Data',"Time","Energy"]def write_data(ans): try: t = pd.DataFrame(columns=name, data=ans) t['Data'] = pd.to_datetime(t['Data']) t.to_csv(r"2021.csv", mode='a', header=False) except Exception: print

2021-04-09 08:24:12 1167 1

原创 【栈-简单】496. 下一个更大元素 I(两种方法:单调栈,暴力法)

【题目】给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。【示例 1】输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释:对于 num1 中的数字 4 ,你无法在第二个数组中

2021-04-04 17:15:40 52

原创 【栈-简单】232. 用栈实现队列

【题目】请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, siz

2021-04-04 16:27:13 51

原创 【栈-简单】682. 棒球比赛

【题目】你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:整数 x - 表示本回合新获得分数 x“+” - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。“D” - 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效的

2021-04-04 15:37:08 191

原创 【栈-简单】面试题 03.04. 化栈为队

【题目】实现一个MyQueue类,该类用两个栈来实现一个队列。【示例】MyQueue queue = new MyQueue();queue.push(1);queue.push(2);queue.peek(); // 返回 1queue.pop(); // 返回 1queue.empty(); // 返回 false【说明】你只能使用标准的栈操作 – 也就是只有 push to top, peek/pop from top, size 和 is empty 操作是合法的。你所使

2021-04-04 15:21:43 49

原创 【栈-简单】1047. 删除字符串中的所有相邻重复项

【题目】给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。【示例】输入:“abbaca”输出:“ca”解释:例如,在 “abbaca” 中,我们可以删除 “bb” 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 “aaca”,其中又只有 “aa” 可以执行重复项删除操作,所以最后的字符串为 “ca”。【提示】1

2021-04-04 14:43:27 77

原创 【栈-简单】1143. 最长公共子序列

【题目】给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。【示例 1】输入:text1 = “abcde”, text2 =

2021-04-04 11:56:30 50

原创 【二分查找-简单】392. 判断子序列(三种方法)

【题目】给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)【进阶】如果有大量输入的 S,称作 S1, S2, … , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?【示例 1】输入:s = “abc”, t = “ahbgdc”输出:true【示例 2】输入:

2021-04-04 00:03:46 207

原创 【二分查找-简单】704. 二分查找

【题目】给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。【示例 1】输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4【示例 2】输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1【提示】你可以假设

2021-04-03 21:58:31 67

原创 【二分查找-简单】1337. 矩阵中战斗力最弱的 K 行(两种方法)

【题目】给你一个大小为 m * n 的矩阵 mat,矩阵由若干军人和平民组成,分别用 1 和 0 表示。请你返回矩阵中战斗力最弱的 k 行的索引,按从最弱到最强排序。如果第 i 行的军人数量少于第 j 行,或者两行军人数量相同但 i 小于 j,那么我们认为第 i 行的战斗力比第 j 行弱。军人 总是 排在一行中的靠前位置,也就是说 1 总是出现在 0 之前。【示例 1】输入:mat =[[1,1,0,0,0],[1,1,1,1,0],[1,0,0,0,0],[1,1,0,0,0],[1

2021-04-03 21:48:17 314

原创 【二分查找-简单】852. 山脉数组的峰顶索引

【题目】符合下列属性的数组 arr 称为 山脉数组 :arr.length >= 3存在 i(0 < i < arr.length - 1)使得:arr[0] < arr[1] < … arr[i-1] < arr[i]arr[i] > arr[i+1] > … > arr[arr.length - 1]给你由整数组成的山脉数组 arr ,返回任何满足 arr[0] < arr[1] < … arr[i - 1] < arr

2021-04-03 21:28:02 76

原创 【双指针-简单】234. 回文链表(栈、翻转后半链表,递归法后期补充)

【题目】请判断一个链表是否为回文链表。【示例 1】输入: 1->2输出: false【示例 2】输入: 1->2->2->1输出: true【进阶】你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?【代码】【Python】【方法1:普通法】class Solution: def isPalindrome(self, head: ListNode) -> bool: num=[] while hea

2021-04-02 19:55:32 67

原创 【双指针】141. 环形链表(三种方法:单指针,双指针,集合哈希)

【题目】给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。【进阶】你能用 O(1)(即,常量)内存解决此问题吗?【示例 1】输入:head = [3,2,0,

2021-04-02 18:47:18 105

原创 【双指针-简单】844. 比较含退格的字符串

【题目】给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。【示例 1】输入:S = “ab#c”, T = “ad#c”输出:true解释:S 和 T 都会变成 “ac”。【示例 2】输入:S = “ab##”, T = “c#d#”输出:true解释:S 和 T 都会变成 “”。【示例 3】输入:S = “a##c”, T = “#a#c”输出:true解释:S 和

2021-04-02 17:48:23 64

原创 【简单】1800. 最大升序子数组和(两种方法,空间复杂度分别是:O(1)、O(n))

【题目】给你一个正整数组成的数组 nums ,返回 nums 中一个 升序 子数组的最大可能元素和。子数组是数组中的一个连续数字序列。已知子数组 [numsl, numsl+1, …, numsr-1, numsr] ,若对所有 i(l <= i < r),numsi < numsi+1 都成立,则称这一子数组为 升序 子数组。注意,大小为 1 的子数组也视作 升序 子数组。【示例 1】输入:nums = [10,20,30,5,10,50]输出:65解释:[5,10,50]

2021-04-02 17:37:47 181

原创 【链表-简单】83. 删除排序链表中的重复元素

【题目】存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。【示例 1】输入:head = [1,1,2]输出:[1,2]【示例 2】输入:head = [1,1,2,3,3]输出:[1,2,3]【提示】链表中节点数目在范围 [0, 300] 内-100 <= Node.val <= 100题目数据保证链表已经按升序排列【代码】【Python】class Solution:

2021-04-02 15:51:55 143

原创 【链表-简单】160. 相交链表(两种方法,无语一样的题出了好几遍)

【题目】编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。【示例 1】输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为

2021-04-02 15:22:48 49

原创 【链表-简单】160. 相交链表

【题目】编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。【示例 1】输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为

2021-04-02 14:45:10 65 1

原创 【链表-简单】剑指 Offer 18. 删除链表的节点

【题目】给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动【示例 1】输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.【示例 2】输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的

2021-04-02 14:19:22 50 2

原创 【链表-简单】剑指 Offer 52. 两个链表的第一个公共节点

【题目】输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。【示例 1】输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5

2021-04-02 13:58:57 43

原创 【安装gitlab】Ubuntu上安装gitlab

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

2021-04-01 14:40:18 924 4

空空如也

空空如也

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

TA关注的人

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