自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

台风天赋的博客

Stay hungry;stay foolish。stay curiosity。

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

原创 leetcode_491_递增子序列_中等难度

祝我的小居居七夕快乐~嘿嘿老规矩,上题:给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是[-100,100]。给定数组中可能包含重复数字,相等的数字应该被视为递增的一种情况。来源:力扣(Lee.

2020-08-25 11:45:46 53

原创 leetcode_109_有序链表转平衡二叉树_二分法

这几天的题目都不难,所以几天没记录博客2333333333。这个题目难度中等,想到了就比较简单。。。题目:给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 ...

2020-08-18 10:28:28 25

原创 leetcode_78_得到一个数组所有子集

题目:给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思...

2020-08-14 09:33:20 34

原创 leetcode_130_被围绕的区域_反向思维_DFS

题目:给定一个二维的矩阵,包含'X'和'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的'O' 用 'X' 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的'O'都不会被填充为'X'。 任何不在边界上,或不与边界上的'O'相连的'O'最终都会被填充为'X'。如果两个...

2020-08-11 11:54:53 41

原创 leetcode_93_复原ip地址

老样子,先上题目:给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔。示例:输入: "25525511135"输出: ["255.255.11.135", "255.255.111.35"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/restore-ip-addresses著作权归领扣网络所有。商业转载.

2020-08-09 10:32:15 50

原创 java多线程——reentrantLock

ReentrantLock锁:通过AQS的学习得知,在java中,AQS是所有锁实现的基础,ReentrantLock也不例外。ReentrantLock继承自AQS类,并且有两个构造函数,一个有参数,一个五参数。默认无参数情况下创建的是一个非公平锁。在reentrantLock内部有一个sync变量,这个sync变量本身是AQS的子类型。在ReentrantLock内部并没有设置像state、Condition这些域,而是通过其内部的sync域来间接操作sync的state域来实现同步的功能。

2020-08-08 17:09:40 32

原创 java多线程——并发数据不一致java中的解决方案

多线程并发编程线程安全主要是由于多线程并发、同时操作共享变量导致的数据不一致。至于共享变量,需要涉及到计算机体系结构的内容:因为现代计算机都一般是设置了两级甚至三级cache。以两级cache为例:假设此时有两个CUP, 线程1 线程2 | | v v CUP1 CUP2 | | v v Cache1-1 Cache2-1 | ...

2020-08-08 17:08:10 187

原创 java多线程——locksupport工具类

LockSupport工具类:是java中锁的基类。每一个线程都可与其建立许可联系。默认情况下,一个线程是没有LockSupport的许可证的。此时,如果调用LockSupport的静态方法park(),则当前线程会被挂起。当时如果当前线程有许可证,就会直接返回。当一个线程以线程1位参数调用unPark()方法时,会给线程1赋予许可证,并且如果线程1目前是处于因为park()而挂起的,则会被唤醒解除挂起。package LockSupport;/*name: demo01user: l

2020-08-08 16:58:19 37

原创 java多线程——java中进程与线程的操作、关系以及创建线程的三种方式

类似于操作系统中的概念,每个线程都是共享其隶属的进程空间,如堆、方法区,但是同时,每一个线程还是有一点属于自己的资源:程序计数器以及方法栈。在java的线程设计中,start方法只是使得线程处于就绪状态,只有当执行了run方法才获取cpu控制器、才处于真正的执行状态。但是一般来说,线程之间都是时间片调度,所以即使run(或者call)方法与start方法是绑定一起执行的,但是run方法一般都是滞后于start方法。java中的PV操作:最基本的是使用notify、synchronized以及

2020-08-08 16:57:11 31

原创 java多线程——concurrentLinkQueue

concurrentLinkedQueue是一种非阻塞队列,通过CAS保证其操作过程中的原子性,而又因为CAS本身为非阻塞式算法,因此该队列也为非阻塞式的。在该队列内部,每一个节点都一个Node类。同时,为了保持仅内存可见性,所以Node内部的域使用volatile修饰。最后,和一般的链表队列一样,该队列也有头指针和尾指针,同样也都是Node类型的。在操作时,如add(elem)操作:首先用哨兵记录头指针,再将头指针遍历到队列尾部,此时其指向null。然后,进行CAS操作:将头指针与nu.

2020-08-08 16:48:13 35

原创 java多线程——concurrentList

java中的List类型中,只有CopyOnWriteArrayList是线程安全的ArrayList。在copyOnWriteList中,基本底层还是不变:由数组构成的链表,有一个Object[]数组域。但是在其内部有一个ReentrantLock独占锁,在增删改的时候都是先上锁再操作。所以它是并发安全的。①在实现的时候,都是先先将数组域复制到一个新数组中,然后对这个新数组进行增删改,最后将新数组赋给旧数组。②在进行迭代iterator时,实际上是对内部数组域快照的一个迭代,如果这个数组域

2020-08-08 16:46:57 524

原创 java多线程——AQS

AQS:抽象同步队列,这是所有锁实现的基础。该数据结构和操作系统中关于PV操作时的所需的数据结构一样。首先,其内部有一个状态变量state,用于记录当前的锁是否有线程在是否,并且还有一个Thread变量thread来记录当前使用该锁的线程本身。可以看出,如果该锁是独占锁,就可以通过state与thread变量的搭配使用达到锁的互斥使用以及锁的可重入性。同时,其内部还有几个Condition类型的变量,用于记录因为某个condition而阻塞的线程,此时这些线程都挂在相应的condition上。.

2020-08-08 16:45:35 25

原创 leetcode_337_打家劫舍_核心DFS解决

题目:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例 1:输入: [3,2,3,null,3,null,1] 3 / \ 2 3 \ ...

2020-08-05 10:48:07 57

原创 leetcode_207_课程表_拓扑排序

老规矩上题目2333:你这个学期必须选修 numCourse 门课程,记为0到numCourse-1 。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0...

2020-08-04 11:19:51 47

原创 leetcode_114_二叉树展开

题目:给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5/ \ \3 4 6将其展开为:1\ 2 \ 3 \ 4 \ 5 \ 6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list...

2020-08-02 10:41:54 41

原创 leetcode_632_最小区间_双指针解法

题目:你有k个升序排列的整数数组。找到一个最小区间,使得k个列表中的每个列表至少有一个数包含在其中。我们定义如果b-a < d-c或者在b-a == d-c时a < c,则区间 [a,b] 比 [c,d] 小。示例 1:输入:[[4,10,15,24,26], [0,9,12,20], [5,18,22,30]]输出: [20,24]解释:列表 1:[4, 10, 15, 24, 26],24 在区间 [20,24] 中。列表 2:[0, 9, 12,...

2020-08-01 12:22:13 105

原创 leetcode_15_三数之和

题目:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum...

2020-07-27 10:07:49 33

原创 leetcode_329_矩阵中的最长递增路径

题目:给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums =[ [9,9,4], [6,6,8], [2,1,1]]输出: 4解释: 最长递增路径为[1, 2, 6, 9]。示例 2:输入: nums =[ [3,4,5], [3,2,6], [2,2,1]]输出: 4解释: 最长递增路径是[3, 4, ...

2020-07-26 11:56:30 53

原创 pytorch学习记录

1.在使用clone()时,比如x = y[1, :].clone()此时的x不是y的视图,只是一个克隆复制品。此时修改x,并不会影响y;同样的修改y也不会影响到x。但是如果没有使用clone(),则会互相影响。使用clone还有一个好处是会被记录在计算图中,即梯度回传到副本时也会传到源Tensor2.pytorch和numpy一样,内部提供了大量的线性代数方法函数。避免重复造轮子。3.pytorch中,索引操作不会开辟新内存地址(即使用clone函数的原因),但是普通运算会。所以,

2020-07-25 23:48:53 51

原创 leetcode_410_分割数组的最大值

题目:给定一个非负整数数组和一个整数m,你需要将这个数组分成m个非空的连续子数组。设计一个算法使得这m个子数组各自和的最大值最小。注意:数组长度n满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式是将其分为[7,2,5] 和 [10,8],因为此时这两个子数组各自的和的最大值为18,在所有情况中最小...

2020-07-25 10:06:43 47

原创 leetcode_1025_除数博弈

题目:爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字N。在每个玩家的回合,玩家需要执行以下操作:选出任一x,满足0 < x < N 且N % x == 0。用 N - x替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回True,否则返回 false。假设两个玩家都以最佳状态参与游戏。示例 1:输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。示例 ...

2020-07-24 10:00:55 29

原创 leetcode_64_最小路径和

题目:给定一个包含非负整数的 mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-path-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注...

2020-07-23 08:24:11 23

原创 leetcode_97_交错字符串

题目:给定三个字符串s1, s2, s3, 验证s3是否是由s1和s2 交错组成的。示例 1:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出: true示例2:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出: false来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/interleaving-strin...

2020-07-18 12:26:54 49

原创 leetcode_785_判断二分图

题目:给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边:graph[i]中不存在i,并且graph[i]中没有重复的值。示例 1:输入: [[1,3], [0,2], [1..

2020-07-16 12:22:58 39

原创 leetcode_96_不同的二叉搜索树

题目:给定一个整数 n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 ...

2020-07-15 15:50:18 32

原创 leetcode_120_三角形最小路径和

题目:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为11(即,2+3+5+1= 11)。说明:如果你可以只使用 O(n)的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会...

2020-07-14 11:30:47 34

原创 leetcode_174_地下城游戏

该题很难,思路很难想到。。。一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数,则表示骑士将损失健康点数);其他房间要么是空的(房间里的值为 0),要么包含增加骑士健康点数的魔法球(若房间里的.

2020-07-12 16:45:54 53

原创 leetcode_315_计算右侧小于当前元素的个数

这个题需要用到:①逆序对的解决思路。②归并的分治策略③特殊的排序,不动原数组nums,而是另开辟一个保存下标的数组index。并且排序也是在这个index数组上进行的,原数组只是用来比较。题目:给定一个整数数组 nums,按要求返回一个新数组counts。数组 counts 有该性质: counts[i] 的值是nums[i] 右侧小于nums[i] 的元素的数量。示例:输入: [5,2,6,1]输出: [2,1,1,0]解释:5 的右侧有 2 个更小的元素 (2...

2020-07-11 22:55:57 25

原创 Win10+Anaconda+CUDA11.0+cuDNN8.0.1+RTX2060深度学习_tensorflow环境配置

继续上一篇pytorch安装,这篇记录一下昨天的TensorFlow安装流程。因为安装pytorch的时候,已经在新机上安装好了CUDA11.0以及cudnn8.0.1,所以在安装TensorFlow的时候不需要再安装了。直接在命令行中执行:conda install cudatoolkit=10.1 cudnn=7.6pip install tensorflow-gpu #安装tensorflowNote:在安装之前最后换清华源,或者使用豆瓣源。不然会下载超时而失败。多的不说了,可

2020-07-11 22:17:45 3233 8

原创 Win10+Anaconda+CUDA11.0+cuDNN8.0.1+RTX2060深度学习_pytorch环境配置

最近换了电脑,需要在新电脑上配置pytorch环境。以前的电脑上配置过,这次再配置顺便记录下来,供以后参考。。。————————————————————————首先去NVIDA官网下载CUDA:https://developer.nvidia.com/cuda-toolkit-archive这里我下载的是现在最新的V11.0版本安装好后再在NVIDA官网上下载cuDNN,下载这个的时候需要注册。不需要翻墙也可以注册:https://developer.nvidia.com/rdp/c

2020-07-10 00:05:10 4597 8

原创 LeetCode_面试题_17.13_恢复空格

emmmmmmm这个题目很难,,,需要用到Trie字典树,以及动态规划相关知识。算是很重要的一个题目了。手动标记一下23333。------------------------------------------------------------------题目:哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!"已经变成了"iresetthecomputeritstilld

2020-07-09 17:25:36 43

原创 LeetCode_面试题_16.11_跳水板

首先看题目:你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。示例:输入:shorter = 1longer = 2k = 3输出: {3,4,5,6}提示:0 < shorter <= longer0 <= k <= 100000来源:力扣(LeetCode)链接:https://l

2020-07-08 11:56:57 50

原创 leetcode_112_路径总和

先上题:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为...

2020-07-07 08:30:39 67

原创 leetcode_63_不同路径II

题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/unique-paths-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。网格中的障碍物和空位置分别用

2020-07-06 12:52:31 40

原创 leetcode_44_通配符匹配

LeetCode的每日打卡题。第13天。。。。---------------------------------------------------题目:给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符?和*。...

2020-07-05 11:48:00 24

原创 leetcode_215_數組中的第K個最大元素

首先上題目:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/kth-largest.

2020-06-29 09:22:24 47

原创 leetcode_209_长度最小的子数组

题目描述:给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4,3]是该条件下的长度最小的连续子数组。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum著作权归领扣网络所有。...

2020-06-28 11:50:00 60

原创 深度学习作业二
原力计划

这个作业对应需要掌握:单隐藏层下的神经网络的构建,正向传播以及反向传播。在做作业的时候有一个地方找了很久才把错误找出来:因为这个作业解决的是一个二分类问题,所以在输出层的时候需要使用sigmoid作为激励函数,而自己在隐藏层和输出层都使用了tanh()作为激励函数,导致最后的结果出现错误,找了很久才发现。。。先上此次作业的神经网络的架构:很明显这是一个两层网络,一般不包括输入层在内。...

2020-05-04 16:32:57 107

原创 深度学习第一课第二周编程作业以及笔记
原力计划

首先记录在做课后练习的过程中出现的一些可能的常见错误①ndimage模块的方法问题*主要问题出现该模块的imread()方法以及imresize()方法。使用的时候会报错:imresize is deprecated!imread is deprecated!-该方法已经被移除解决方法:使用matplotlib.pyplot.imread()方法或者imageio.imrea...

2020-05-03 22:52:18 381

原创 python学习_五
原力计划

2020.05.01对文件与目录的操作把两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()函数。使用os.path.abspath(’.’)能都获取当前运行此语句的py文件绝对路径。使用os.path.join(os.path.abspath(’.’) ,newdir):此时会在运行该语句在py文件同级处创建一个名字为newdir的文件目录。并且该语句适用于在任...

2020-05-01 14:10:36 317

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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