自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode算法练习:

1014. 最佳观光组合 给定正整数数组 A,A[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的距离为 j - i。 一对景点(i < j)组成的观光组合的得分为(A[i] + A[j] + i - j):景点的评分之和减去它们两者之间的距离。 返回一对观光景点能取得的最高分。 示例: 输入:[8,1,5,2,6] 输出:11 解释:i = 0, j = 2, A[i] + A[j] + i - j = 8 + 5 + 0 - 2 = 11 提示: 2 &l

2020-06-17 20:29:49 251

原创 leetcode算法练习:矩阵中的路径

面试题12. 矩阵中的路径 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。 [["a","b","c","e"], ["s","f","c","s"], ["a","d","e","e"]] 但矩阵中不包含字符串“abfb”的路径,因为字符串的第一个字

2020-06-17 14:13:10 355

原创 leetcode算法练习:转变数组后最接近目标值的数组和

1300. 转变数组后最接近目标值的数组和 给你一个整数数组 arr 和一个目标值 target ,请你返回一个整数 value ,使得将数组中所有大于 value 的值变成 value 后,数组的和最接近 target (最接近表示两者之差的绝对值最小)。 如果有多种使得和最接近 target 的方案,请你返回这些整数中的最小值。 请注意,答案不一定是 arr 中的数字。 示例 1: 输入:arr = [4,9,3], target = 10 输出:3 解释:当选择 value 为 3 时

2020-06-14 22:22:06 261

原创 leetcode算法练习:旋转数组的最小数字

面试题11. 旋转数组的最小数字 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1: 输入:[3,4,5,1,2] 输出:1 示例 2: 输入:[2,2,2,0,1] 输出:0 思路: 二分法 代码: int minArray(int* numbers, int numbersSize){ int left=

2020-06-13 21:11:46 200

原创 leetcode算法练习:从尾到头打印链表

面试题06. 从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 思路: 设定两个链表指针swap2去除链表中的值然后指向swap1,然后swap在等于swap实现链表向前移动。 代码: /** * Definition for singly-linked list. * struct ListNode { *

2020-06-09 22:00:13 282

原创 leetcode算法练习:替换空格

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思路: 先便利s得到空格个数,然后创建一个替换后的内存空间大小的字符串并对字符串进行初始化,设定一个flag标志空格

2020-06-08 22:24:49 264

原创 letcode算法练习:二维数组中的查找

面试题04. 二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ]

2020-06-07 21:52:27 647

原创 letcode算法练习: 数组中重复的数字

面试题03. 数组中重复的数字 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 思路: 用空间换时间,创建一个大小位n的数组ptr设定初始值为0,让nums对应的ptr位置的值为1,判断如果ptr值为1则返回 int findRepeatNumber(i

2020-06-07 20:37:15 166

原创 letcode算法练习:缺失数字

题目: 缺失数字 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 输入: [3,0,1] 输出: 2 示例 2: 输入: [9,6,4,2,3,5,7,0,1] 输出: 8 说明: 你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现? 思路如果不考虑仅使用额外常数空间来实现,可以创建一个大小为n的数列,将给定数列中的值所对应的新建数列 ...

2020-05-24 20:14:35 191

原创 letcode算法练习:从前序与中序遍历序列构造二叉树

题目: 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 思路: 根据前序遍历获取根节点,根据中序遍历获取左子节点的个数和右子节点的个数,然后进行递归处理 代码: /** * Definition for a binary tree

2020-05-22 21:39:21 175

原创 leetcode算法练习:只出现一次的数

题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/single-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思路:

2020-05-14 20:18:59 174

原创 leetcode算法练习:平衡二叉树

题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \ 3 3

2020-05-14 19:51:46 234

原创 汇编笔记

对于8086cpu所有的寄存器都是16位的可以存放两个字节。 AX、BX、CX、DX这4个寄存器常用来存放一般性数据,被称为通用寄存器。这4个寄存器均可被分为,如AH(8-15位构成的高位寄存器)、AL(0-7位构成的地位存储器),左边是高位右边是低位。CS表示读取当前命名的段地址,IP表示读取当前命名的偏移地址 字节:记为byte,一个字节有8个bit组成 字:记为word,一个字友两个字节组成...

2020-05-06 20:20:38 153

原创 docker笔记

1.安装(linux环境) 需要先确定linux内核版本,内核版本继续高于3.10 uname -r 2.安装docker sudo systemctl restart docker 3.查看docker版本 docker -v 4.查看docker状态 systemctl status docker 5.启动docker systemctl start docker 6.停止docke...

2020-05-06 20:20:16 129

原创 springboot学习笔记

常用注解: 控制器 @Controller 控制器,处理http请求 请求参数 @RequestMaping(value="",required=“false/true”) 将http请求响应到控制器,required不允许值为空 @GetMapping,@PostMapping 获取http的get,post请求 @PathVariable 获取url中的数据 @RequestParam 获取请...

2020-05-06 20:19:29 162

原创 leetcode算法练习:

如果数组是单调递增或单调递减的,那么它是单调的。 如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。 当给定的数组 A 是单调数组时返回 true,否则返回 false。 示例 1: 输入:[1,2,2,3] 输出:true 示例 2: 输入:...

2020-05-04 21:48:50 148

原创 LeetCode算法练习:乘积最大子数组

给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。 来源:力扣(LeetCode) 链接:https://leetcode-c...

2020-05-03 21:18:07 326

原创 leetcode算法练习:3的幂

3的幂 给定一个整数,写一个函数来判断它是否是 3 的幂次方。 示例 1: 输入: 27 输出: true 示例 2: 输入: 0 输出: false 示例 3: 输入: 9 输出: true 示例 4: 输入: 45 输出: false 思路: 如果一个数是三的幂,那么它的3进制数一定是10的倍数。 例如:3的三进制为10,9的三进制为100 代码: /** * @param {n...

2020-04-20 20:06:12 322

原创 leetcode算法练习:计数质数

题目: 计数质数 统计所有小于非负整数 n 的质数的数量。 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 思路如果一个数是质数,那么它的倍数一定都不是质数和偶数都不是质数两个特点解题。创建一格大小为n+1的数列将全部的奇数记录为1,在一个小于等于n的for循环内,从3开始令3小于n的倍数为0,依次循环追后数组内剩下为1的数都为...

2020-04-18 20:24:32 167

原创 leetcode算法练习:二叉树的层序遍历

题目: 二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例: 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 思路: 定义递归函数三个值分别是:当前...

2020-04-17 22:20:07 256

原创 leetcode算法练习: 打家劫舍

题目: 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例 1: 输入: [1,2,3,1] 输出: 4 解释: 偷窃 1 号房屋 (金额 =...

2020-04-13 22:18:41 130

原创 leetcode算法练习:最大子序和

题目: 最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 思路: 定义一变量num保存当前最大子数组值n...

2020-04-12 21:42:19 167

原创 leetcode算法练习:买卖股票的最佳时机

题目: 买卖股票的最佳时机 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。 注意:你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖...

2020-04-11 20:17:38 135

原创 leetcode算法练习:爬楼梯

题目: 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1...

2020-04-10 23:50:47 223

原创 leetcode算法练习:第一个错误的版本

题目: 你是产品经理,目前正在带领一个团队开发新的产品。 不幸的是,你的产品的最新版本没有通过质量检测。 由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在...

2020-04-10 17:06:02 184

原创 python3+linux服务器实现web每日自动签到

使用python3 的requests模块实现web每天自动签到 import requests login=requests.post('登陆网址',data={'email':'帐号','passwd':'密码'}) chekin=requests.post('签到网址',cookies=requests.utils.dict_from_cookiejar(login.cookies)) p...

2020-04-10 17:04:05 1292

原创 leetcode算法练习:合并两个有序数组

题目: 合并两个有序数组 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,...

2020-04-08 22:15:34 196

原创 leetcode:算法练习

题目: 将有序数组转换为二叉搜索树 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -...

2020-04-07 21:15:31 114

原创 leetcode算法练习:对称二叉树

题目: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 说明: 如果你可以运用递归和迭代两种方法解决这...

2020-04-06 20:04:02 193

原创 leetcode算法练习:验证二叉搜索树

题目: 验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入: 2 / \ 1 3 输出: true 示例 2: 输入: 5 / \ 1 4 / \ ...

2020-04-05 21:19:50 223

原创 leetcode算法练习:二叉树的最大深度

题目: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 思路: 设置变量ld,rd 先从根节点的左边出发找到最深的叶子节点,存在左节点ld...

2020-04-04 21:51:23 213

原创 leetcod算法练习:环形链表

题目: 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例 2: 输入:head = [1,2], pos = 0 输出:tru...

2020-04-03 18:54:11 181

原创 leetcode算法练习: 回文链表

题目:请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 思路: 先把整个链表从中间分开,分为两段 然后把后面那个链表到过来 最后一一判断对应值是否相等 leetcode源代码: /** * Definitio...

2020-04-02 22:22:35 156

原创 leetcode算法练习:合并两个有序链表

题目: 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 我的思路: 先将两个链表逐一比较,并把小的那个值倒入输出链表,直到其中一个链表的下一个为空为止。 如果两个链表下一个都为空则排序输入两值 如果一链表下一个为...

2020-04-02 20:53:50 182

空空如也

空空如也

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

TA关注的人

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