自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法综述(序章)

我认为算法是一个求解的过程,即表示为一个输入,一个输出,一个求解过程,而每个输入和输出都有其各自的属性,画成图就是这样,这个图和E-R图差不多。而数据,拥有者自己的性质,既可以作为输入,也可以作为输出。数据和数据之间,数据的属性间都具有各自的联系,而这些联系大多数只能被表示成隐函数。但在这里,一个困扰了我很久的问题诞生了,如果将存在一个单维的时间序列T,我将数据分成T1和T2,其中T1作为input,T2作为output,使用RNN(循环神经网络)获得了一个模型,那么我再次输入T2,得到了一个新的

2022-05-21 23:05:20 293

原创 python中如何用空格作为间隔输入

思路:活用分隔符,and建列表代码:shuru=(input().split(" "))print(shuru)这样就获得了数组正文完(因为字数少所以要水一点)下面是牛客网例题HJ1 字符串最后一个单词的长度题目简单 通过率:32.62% 时间限制:1秒 空间限制:32M描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字

2022-04-05 09:51:48 12128

原创 leetcode 回溯算法 组合总和二

怎么还有强化升级版……40. 组合总和 II给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]示例 2:输入: candi

2022-04-04 11:34:59 295

原创 leetcode 回溯算法 39.组合总和

组合总和给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为 target 的不同组合数少于 150 个。示例 1:输入:candidates = [2,3,6,7], targe.

2022-04-04 10:10:40 148

原创 leetcode 动态规划 63.不同路径二

不同路径 II一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。示例 1:输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输出:2解释:3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 .

2022-04-03 21:13:37 82

原创 leetcode 动态规划 62. 不同路径

不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向下 -> 向下向下 -> 向下 -> 向右向下 -> 向.

2022-04-03 16:33:23 1150

原创 leetcode 动态规划 746. 使用最小花费爬楼梯

使用最小花费爬楼梯给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例 1:输入:cost = [10,15,20]输出:15解释:你将从下标为 1 的台阶开始。支付 15 ,向上爬两个台阶,到达楼梯顶部。总花费为 15 。示例 2:输入:cost = [1,100,1,1,1,100,1.

2022-04-03 16:14:57 73

原创 leetcode 动态规划 70. 爬楼梯

这玩意好像在哪见过70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶提示:1 <= n <= 45代码:class Solution {public:

2022-04-03 15:48:48 704

原创 leetcode 动态规划 509. 斐波那契数

斐波那契数斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给定 n ,请计算 F(n) 。示例 1:输入:n = 2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1示例 2:输入:n = 3输出:2解释:F(3) = F(2) + F(1) = 1 +.

2022-04-03 15:33:11 359

原创 leetcode 回溯算法 17. 电话号码的字母组合

电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = “23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例 2:输入:digits = “”输出:[]示例 3:输入:digits = “2”输出:[“a”,“b”,“c”]提示:0 <= digits.le.

2022-04-03 14:44:20 104

原创 leetcode 回溯算法 组合总和三

组合总和 III找出所有相加之和为 n 的 k 个数的组合,且满足下列条件:只使用数字1到9每个数字 最多使用一次返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]解释:1 + 2 + 4 = 7没有其他符合的组合了。示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4]]解释:1 + 2 + 6 = 91 + 3 + .

2022-04-03 11:04:50 586

原创 leetcode 回溯算法 77. 组合

组合给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。示例 1:输入:n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例 2:输入:n = 1, k = 1输出:[[1]]提示:1 <= n <= 201 <= k <= n第一反应:写for循环,但是肯定过不了第二:慢慢搞下...

2022-04-02 16:29:31 65

原创 leetcode 二叉树篇 平衡二叉树

平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 1:输入:root = [3,9,20,null,null,15,7]输出:true示例 2:输入:root = [1,2,2,3,3,null,null,4,4]输出:false示例 3:输入:root = []输出:true提示:树中的节点数在范围 [0, 5000] 内-104 <= Node.val &.

2022-04-01 21:23:29 83

原创 leetcode 二叉树篇 222. 完全二叉树的节点个数

完全二叉树的节点个数给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例 1:输入:root = [1,2,3,4,5,6]输出:6示例 2:输入:root = []输出:0示例 3:输入:root = [1]输出:1提示:树中节点的数目范围是[0, 5 * 104.

2022-04-01 20:39:59 278

原创 leetcode 二叉树篇 二叉树的最小深度

我是没想到还有这玩意儿111. 二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例 1:输入:root = [3,9,20,null,null,15,7]输出:2示例 2:输入:root = [2,null,3,null,4,null,5,null,6]输出:5提示:树中节点数的范围在 [0, 105] 内-1000 <= Node.val <= 1000class Solu

2022-04-01 20:15:46 258

原创 leetcode 二叉树 二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。代码:

2022-04-01 16:49:55 93

原创 leetcode 二叉树篇 101. 对称二叉树

对称二叉树给你一个二叉树的根节点 root , 检查它是否轴对称。示例 1:输入:root = [1,2,2,3,4,4,3]输出:true示例 2:输入:root = [1,2,2,null,3,null,3]输出:false提示:树中节点数目在范围 [1, 1000] 内-100 <= Node.val <= 100思路:层序遍历失败了思路2:代码:class Solution {public:bool campare(TreeNode* left,Tre.

2022-04-01 10:42:27 230

原创 leetcode 二叉树篇 n叉树的遍历

N 叉树的前序遍历给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14.

2022-03-31 16:52:30 91

原创 Leetcode 二叉树篇 226.翻转二叉树

翻转二叉树给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例 2:输入:root = [2,1,3]输出:[2,3,1]示例 3:输入:root = []输出:[]提示:树中节点数目范围在 [0, 100] 内-100 <= Node.val <= 100本题只用迭代法。虽然我没看出来不过这东西应该是前序遍历代码:/**Definitio.

2022-03-31 16:02:54 62

原创 leetcode 层序遍历之我要打十个(下)

填充每个节点的下一个右侧节点指针给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node {int val;Node *left;Node *right;Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示例 1:输入:root = [1,2,3,4,5,6,7]输出:[.

2022-03-31 15:33:27 52

原创 leetcode 层序遍历之我要打十个(上)

二叉树的层序遍历给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。示例 1:输入:root = [3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1]输出:[[1]]示例 3:输入:root = []输出:[]提示:树中节点数目在范围 [0, 2000] 内-1000 <= Node.val <= 1000...

2022-03-31 12:05:06 468

原创 leetcode 二叉树遍历(迭代)

因为python不好写所以本题用cpp二叉树的前序遍历代码:class Solution {public:vector preorderTraversal(TreeNode* root) {stack<TreeNode*> s;vector result;if (root == NULL) return result;s.push(root);while(!s.empty()){TreeNode* node=s.top();s.pop();result.push_ba

2022-03-30 14:23:40 56

原创 leetcode 二叉树 二叉树的前中后遍历(递归)

二叉树的中序遍历给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]提示:树中节点数目在范围 [0, 100] 内-100 <= Node.val <= 100来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-ino.

2022-03-30 11:32:36 64

原创 Leetcode 贪心算法 135分发糖果

链接:https://leetcode-cn.com/problems/candy/⽼师想给孩⼦们分发糖果,有 N 个孩⼦站成了⼀条直线,⽼师会根据每个孩⼦的表现,预先给他们评分。你需要按照以下要求,帮助⽼师给这些孩⼦分发糖果:那么这样下来,⽼师⾄少需要准备多少颗糖果呢?示例 1:输⼊: [1,0,2]输出: 5解释: 你可以分别给这三个孩⼦分发 2、1、2 颗糖果。示例 2:输⼊: [1,2,2]输出: 4解释: 你可以分别给这三个孩⼦分发 1、2、1 颗糖果。第三个孩⼦只得到 1

2022-03-29 16:40:57 333

原创 LeetCode 贪心算法 134加油站

题⽬链接:https://leetcode-cn.com/problems/gas-station/在⼀条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有⼀辆油箱容量⽆限的的汽⻋,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的⼀个加油站出发,开始时油箱为空。如果你可以绕环路⾏驶⼀周,则返回出发时加油站的编号,否则返回 -1。说明:示例 1:输⼊:gas = [1,2,3,4,5]cost = [3,4,5,1,2]输出:

2022-03-25 17:26:21 87

原创 LeetCode 贪心算法 1005.K次取反后最⼤化的数组和

题⽬地址:https://leetcode-cn.com/problems/maximize-sum-of-array-after-k-negations/给定⼀个整数数组 A,我们只能⽤以下⽅法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同⼀个索引 i。)以这种⽅式修改数组后,返回数组可能的最⼤和。示例 1:输⼊:A = [4,2,3], K = 1输出:5解释:选择索引 (1,) ,然后 A 变为 [4,-2,3]。

2022-03-25 16:06:53 4601

原创 Leetcode 贪心算法 45.跳跃游戏II

题⽬地址:https://leetcode-cn.com/problems/jump-game-ii/给定⼀个⾮负整数数组,你最初位于数组的第⼀个位置。数组中的每个元素代表你在该位置可以跳跃的最⼤⻓度。你的⽬标是使⽤最少的跳跃次数到达数组的最后⼀个位置。示例:输⼊: [2,3,1,1,4]输出: 2解释: 跳到最后⼀个位置的最⼩跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后⼀个位置。说明:假设你总是可以到达数组的最后⼀个位置。...

2022-03-20 11:47:23 3150 1

原创 Leetcode 贪心算法 55. 跳跃游戏

55.跳跃游戏题⽬链接:https://leetcode-cn.com/problems/jump-game/给定⼀个⾮负整数数组,你最初位于数组的第⼀个位置。数组中的每个元素代表你在该位置可以跳跃的最⼤⻓度。判断你是否能够到达最后⼀个位置。示例 1:输⼊: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后⼀个位置。示例 2:输⼊: [3,2,1,0,4]输出: false解释: ⽆论怎样,你总会到

2022-03-18 12:39:56 2601

原创 Leetcode 贪心算法 122.买卖股票的最佳时机II

122.买卖股票的最佳时机II题⽬链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/给定⼀个数组,它的第 i 个元素是⼀⽀给定股票第 i 天的价格。设计⼀个算法来计算你所能获取的最⼤利润。你可以尽可能地完成更多的交易(多次买卖⼀⽀股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。贪⼼算法:买卖股票的最佳时机II122.买卖股票的最佳时机II示例 1:输⼊: [7,1,5,3,

2022-03-18 11:23:43 68

原创 树莓派简单教程(三)version 0

在这一章中因为要讲述的东西比较多,故序号会有一点改变,以version的方式显示,我们要讲很多很多的东西,远到在一个树莓派机器人诞生之前,因此采用version的形式,简单的介绍一下。怎么造一个看起来很智能的科技产品?你可以用阿里云:这是阿里云的物联网平台,你可以按照管理方法在树莓派上下载好安装包,然后用它的案例初始化它有着很多完备的接口,你甚至可以直接无代码进行开发,它帮你准备了一切,从网页到小程序,你只需要加加接口,如果速成一下python你还可以改改代码玩玩花活儿。看起来非常轻轻松松。

2022-03-17 22:50:18 6606

原创 python永久线程:处理神经错乱的小灯

如果该内容与某实验重合,纯属巧合不想看背景介绍可以直接略过前面文字部分假设你有一盏小灯,你定义了一个开关,当你打开或者关闭开关时,网页会向服务器发送信息,服务器又会向小灯发送一串json格式的信息,控制小灯的开关。但你突发奇想,想着诶是不是可以加一个光敏传感器,这样我不仅能在面包板上加个按钮开,也可以手机网页开,还可以等到天黑了自动开,有道理,尤其是加上这个功能以后好像还可以加个分,看起来还特别简单,于是你兴冲冲的接上了光敏传感器,于是小灯开始神经错乱了起来,有时候小灯怎么按开关都不亮,有时候光敏传感

2022-03-17 12:11:34 466

原创 Leetcode 贪心算法 53. 最大子数组和

最⼤⼦序和题⽬地址:https://leetcode-cn.com/problems/maximum-subarray/给定⼀个整数数组 nums ,找到⼀个具有最⼤和的连续⼦数组(⼦数组最少包含⼀个元素),返回其最⼤和。示例:输⼊: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续⼦数组 [4,-1,2,1] 的和最⼤,为 6想法:暴力求解class Solution:def maxSubArray(self, nums: List[int]) -> int.

2022-03-17 10:57:01 105

原创 LeetCode 贪心算法 376. 摆动序列

摆动序列题⽬链接:https://leetcode-cn.com/problems/wiggle-subsequence/如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第⼀个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是⼀个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反,[1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第⼀个序列是因为它的前两个差值都是正数,第⼆个序列是.

2022-03-15 17:00:08 734 1

原创 Leetcode 贪心算法 455. 分发饼干

455.分发饼⼲题⽬链接:https://leetcode-cn.com/problems/assign-cookies/假设你是⼀位很棒的家⻓,想要给你的孩⼦们⼀些⼩饼⼲。但是,每个孩⼦最多只能给⼀块饼⼲。对每个孩⼦ i,都有⼀个胃⼝值 g[i],这是能让孩⼦们满⾜胃⼝的饼⼲的最⼩尺⼨;并且每块饼⼲ j,都有⼀个尺⼨ s[j] 。如果 s[j] >= g[i],我们可以将这个饼⼲ j 分配给孩⼦ i ,这个孩⼦会得到满⾜。你的⽬标是尽可能满⾜越多数量的孩⼦,并输出这个最⼤数值。示例 1:

2022-03-15 15:41:37 724

原创 树莓派简单教程(二)(下)

2 脚本和vim2.1 脚本2.2 文件读写2.3 vim编辑器至此,树莓派本身告一段落,现在开始讲解在利用树莓派编程时所需要注意的一些点。33.1 连不上的wifi3.2 filezilla3.3 分辨率

2022-01-30 15:26:51 4920

原创 树莓派简单教程(二)(中)

1.4.4 anaconda如果对机器学习领域有兴趣,也可下载anaconda学习,建议装在c盘并预留足够空间anaconda将所有的科学计算包,以及python本身通过conda进行管理,其中还包括TensorFlow,spyder(类比matlab)等架构,适用于机器学习,数据分析等。至此,我们讨论完了几种常见的pythonIDE及架构,现在回到正题,谈论路径本身。从1.4.4中可以得出,conda通过管理python来切换版本,这可以让人联想回linux系统本身。1.4.5 路径1.4.6

2022-01-28 22:43:45 5804

原创 树莓派简单教程(二)(上)

一、python编程,库的下载及其他平台此处只讨论python,类似单片机项目用树莓派编译c语言程序此处不表。首先使用打开命令行,输入python命令,将会显示python版本

2022-01-27 16:57:19 4337

原创 树莓派简单教程(一)

一、什么是树莓派基于ARM的微型电脑主板,其系统基于linux二、树莓派能做什么2.1 挖矿【树莓派:居然拿我干这事?———6分钟使用树莓派,编译CPU挖矿程序测试算力。-哔哩哔哩】 https://b23.tv/tvx06lM...

2022-01-26 10:43:00 6357

空空如也

空空如也

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

TA关注的人

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