自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer之二维数组中的查找

剑指offer之二维数组中的查找题目描述方法一 题目描述 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 [ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 给定 target = 7,返回 true。 给定 target = 3,返回 false。 数据范围:矩阵的长宽满足 0≤n,m≤500,矩阵中

2022-03-08 20:05:47 256

原创 剑指offer之跳台阶

剑指offer之跳台阶题目描述解题思路 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 数据范围:1 ≤n≤40 要求:时间复杂度:O(n) ,空间复杂度: O(1) 示例1 输入: 2 返回值: 2 说明: 青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2 . 示例2 输入: 7 返回值: 21 解题思路 考虑这个过程很重要,也就是说考虑问题的思想,这里其实是动态规划 跳到第n个台阶,

2022-03-07 15:19:22 638

原创 剑指offer之链表中环的入口结点

剑指offer之链表中环的入口结点题目描述方法一 题目描述 给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。 数据范围: n≤10000,1<=结点值<=10000 要求:空间复杂度 O(1),时间复杂度 O(n) 方法一 解题思路:利用set,遍历结点加入set,当加入set失败时,说明有重复结点,即环的入口结点。 /* public class ListNode { int val; ListNode next = null;

2022-03-07 14:23:07 620

原创 剑指offer之链表中倒数最后k个结点

剑指offer之链表中倒数最后k个结点题目描述方法一 题目描述 输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 示例1 输入: {1,2,3,4,5},2 返回值: {4,5} 说明: 返回倒数第2个节点4,系统会打印后面所有的节点来比较. 示例2 输入: {2},8 返回值: {} 方法一 解题思路:快慢指针法:先让qucik指针走K步,slow指针再走,当quick指针指向null时,返回slow指针即可。 i

2022-03-07 08:55:37 242

原创 剑指offer之两个链表的第一个公共结点

剑指offer之两个链表的第一个公共结点题目描述方法一 题目描述 输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 数据范围: n≤1000 要求:空间复杂度 O(1),时间复杂度 O(n) 输入描述: 输入分为是3段,第一段是第一个链表的非公共部分,第二段是第二个链表的非公共部分,第三段是第一个链表和第二个链表的公共部分。 后台会将这3个参数组装为两个链表,并将这两个链表对应的头节点传入到

2022-03-04 17:04:29 389

原创 剑指offer之求1+2+3+...+n

剑指offer之求1+2+3+...+n题目描述方法 题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 数据范围: 0 <n≤200 进阶: 空间复杂度 O(1) ,时间复杂度 O(n) 方法 解题思路: 使用递归解法最重要的是指定返回条件,但是本题无法直接使用 if 语句来指定返回条件。 条件与 && 具有短路原则,即在第一个条件语句为 false 的情况下不会去执行第二个条件语

2022-03-03 09:31:20 226

原创 剑指offer之调整数组顺序使奇数位于偶数前面(二)

剑指offer之调整数组顺序使奇数位于偶数前面(二)题目描述方法一错解 题目描述 输入一个长度为 n 整数数组,数组里面可能含有相同的元素,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,对奇数和奇数,偶数和偶数之间的相对位置不做要求,但是时间复杂度和空间复杂度必须如下要求。 数据范围:00≤n≤50000,数组中每个数的值 0≤val≤10000 要求:时间复杂度 O(n),空间复杂度 O(1) 方法一 解题思路就是如果前面的数一直为奇数就++,如果

2022-03-02 08:54:33 146

原创 剑指offer之从尾到头打印链表

剑指offer之从尾到头打印链表题目描述题解一 题目描述 输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。 如输入{1,2,3},返回一个数组为[3,2,1] 0 <= 链表长度 <= 10000 题解一 解题思路:利用栈先进后出的特性,遍历链表,push进栈,再定义一个数组,pop出栈。 /** * public class ListNode { * int val; * ListNode next = null; * *

2022-03-01 08:50:08 720

原创 剑指offer之替换空格

剑指offer之替换空格题目描述题解一 题目描述 请实现一个函数,将一个字符串s中的每个空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 数据范围:0≤len(s)≤1000 。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。 进阶:时间复杂度 O(n) ,空间复杂度 O(n) 题解一 解题思路:定义一个字符串str,遍历s, 当遍历到非空格,str+=s.chatAt(i),遍历到空格,stt+="%20"。 im

2022-02-28 15:18:16 247

原创 剑指offer之数组中重复的数字

剑指offer之数组中重复的数字题目描述题解一题解二题解三 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1。 数据范围:0≤n≤10000 进阶:时间复杂度O(n),空间复杂度O(n) 题解一 解题思路:定义一个新的数组a[n],遍历所给的数组numbers,当遍

2022-02-27 21:25:17 333

原创 深度学习之神经网络

神经网络 神经网络由输入层、隐藏层、输出层组成 神经网络类别 1、单层神经网路(感知机):类似逻辑回归,线性分类,全连接 没有激活函数 2、两层神经网络(多层感知机):带一个隐层,非线性分类,全连接 3、多层神经网络(深度学习):全连接 4、卷积神经网络(CNN):非全连接 5、循环神经网络(RNN):处理序列数据 神经网络的三种函数 激活函数 作非线性变换 常用的激活函数 Sigmoid:输出0到1 Tanh:输出-1到1 Relu:小于0取0,大于0取本身 损失函数 是神经网络优化的目标函数,神经

2021-03-12 10:34:49 680

原创 LeetCode 242有效的字母异位词

题目描述 解法 解法都是别人的,做一个搬运解法的搬运工。 解法一 如果 s 和 t 的长度不同,t 必然不是 s 的异位词。 t 是 s 的异位词等价于「两个字符串排序后相等」。因此我们可以对字符串 s 和 t 分别排序,看排序后的字符串是否相等即可判断。 class Solution { public boolean isAnagram(String s, String t) { //如果s和t长度不相等,肯定不是字母异位词 if (s.length() !=

2021-03-07 17:17:50 169

原创 LeetCode 141环形链表

题目描述 解法 解法一 暴力解法:题目中链表中节点的数目范围是0到10的4次方,我们可以设置一个num记录遍历的节点数,如果超过10000,说明有环 /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } *

2021-03-05 09:00:04 196 1

原创 K折交叉验证

所谓K折交叉验证,就是在进行实验时: 将数据集等比例划分成K份,以其中的一份作为测试数据,其他的K-1份数据作为训练数据。然后,这样算是一次实验,而K折交叉验证只有实验K次才算完成完整的一次,也就是说交叉验证实际是把实验重复做了K次,每次实验都是从K个部分选取一份不同的数据部分作为测试数据(保证K个部分的数据都分别做过测试数据),剩下的K-1个当作训练数据,最后把得到的K个实验结果进行平分。 ...

2021-03-03 19:18:42 448 1

原创 LeetCode 207反转链表

题目描述 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-linked-list 解法 解法一 使用头插法进行反转链表 /** * Definition for singly-linked

2021-03-03 10:44:25 131

原创 LeetCode 707设计链表

题目描述 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类中实现这些功能: get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。 addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为

2021-03-02 10:41:08 121

原创 机器学习之天下没有免费午餐定理

没有免费午餐定理(No Free Lunch Theorem) 如果我们不对特征空间有先验假设,则所有算法的平均表现是一样的。 但是我们认为:特征差距小的样本更有可能是同一类。

2021-03-01 21:01:16 1061

原创 LeetCode 203删除链表元素

问题描述 删除链表中等于给定值 val 的所有节点。 示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5 解法 解法思想 此题删除链表中元素是很简单的,只需要让待删节点之前一个节点指向待删节点之后一个节点即可。 这里我们讨论两种解法。 在java中定义单链表的代码如下: public class ListNode { int val;

2021-03-01 19:23:44 206 3

原创 LeetCode 2.19 每日打卡 1004最大连续1的个数 III

题目描述 解法 解法一 暴力解法两个for循环 class Solution { public int longestOnes(int[] A, int K) { //虽然自己的思路就是用滑动窗口做,在终止位置向右移动过程中,遇到0,将其变成1,然后K-1,直到再遇到0,K=0时结束 //但是吧先写暴力解法 int length = 0; //子数组的长度 int finalLength = 0; //最后要返回的子数组的长度

2021-02-19 11:36:27 173

原创 LeetCode 209长度最小的子数组

题目描述 解法 解法一 暴力解法,两个for循环找相应的满足大于target的最短子序列的长度 class Solution { public int minSubArrayLen(int target, int[] nums) { //暴力解法 int sum = 0; //子序列和 int length = 0; //满足和大于s的子序列的长度 int finalLength = 100001; //题目中数组长度为1-10的5次

2021-02-18 10:03:28 286

原创 LeetCode 27移除元素

问题描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并“原地”修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。 你可以想象内部操作如下: // nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝

2021-02-17 17:46:30 126

原创 LeetCode 2.17 每日打卡 566重塑矩阵

输入: nums = [[1,2], [3,4]] r = 1, c = 4 输出: [[1,2,3,4]]

2021-02-17 11:00:11 127

原创 LeetCode 2.16 每日打卡 561数组拆分 I

问题描述 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。 返回该 最大总和 。 示例 1: 输入:nums = [1,4,3,2] 输出:4 解释:所有可能的分法(忽略元素顺序)为: (1, 4), (2, 3) -> min(1, 4) + min(2, 3) = 1 + 2 = 3 (1, 3), (2, 4) -> min(1,

2021-02-16 22:33:42 300

原创 LeetCode 35搜索插入位置

问题描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [1,3,5,6], 7 输出: 4 示例 4: 输入: [1,3,5,6], 0 输出: 0 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/search-

2021-02-16 22:28:18 252

转载 Win10下完整删除 [双系统ubuntu18.04](以及EFI、启动项)

Win10下完整删除 [双系统ubuntu18.04](以及EFI、启动项) 详细步骤见https://blog.csdn.net/cxrshiz7890/article/details/105792563?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant_t0.none-t

2020-11-15 17:04:33 192

原创 各种排序算法比较和总结

各种排序算法比较和总结插入排序插入排序思想插入排序代码 插入排序 插入排序思想 遍历数组,遍历到i时,a0,a1...ai-1是已经排好序的,将ai从ai-1开始向前和每个比较大小,如果小于,则将此位置元素向后移动,继续向前比较,如果不小于,则放到正在比较的元素之后。从算法思想可以看出,当相等元素比较时,原来靠后的元素经过比较后还是在后边,所以插入排序是稳定的 插入排序代码 def insertionSort(arr): for i in range(1,len(arr)): #第一个元素本来就是

2020-09-26 16:50:56 162

原创 python之机器学习

机器学习机器学习分类监督学习(Supervised Learning)无监督学习(Unsupervised Learning)强化学习(Reinforcement Learning)半监督学习(Semi-supervised Learning)深度学习(Deep Learning)Python Scikit-learn 机器学习分类 监督学习(Supervised Learning) 无监督学习(Unsupervised Learning) 强化学习(Reinforcement Learning) 半监督学

2020-07-08 17:56:24 178

原创 python学习记录之输入输出

python学习记录之输入输出输入输出格式化字符串输入和输出示例 输入 input(),括号内可填写提示信息,input()返回值是字符串 例如:要计算x+y的值 x=input('请输入x的值:') y=input('请输入y的值:') print(int(x)+int(y)) 输出 print(),显示在终端上,除了输出数据,还有三个 缺省项,完整的print如下: print(数据,sep=’ ‘,end=’\n’,file=sys.stdout) print函数默认把对象打印到stdout流,并且

2020-06-21 08:38:56 629

原创 python学习记录之容器类型

列表与元组列表与元组列表元组 列表与元组 列表 列表我们可以理解为可以接长、拆短的积木式收纳盒 元组 元组我们可以理解为固定长短的收纳盒

2020-06-20 16:03:52 104

空空如也

空空如也

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

TA关注的人

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