自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指 Offer46动态规划 ——把数字翻译成字符串

题目:给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", “bwfi”, “bczi”, “mcfi"和"mzi”提示:0 <= num < 231来源:力扣(LeetCode)链接:https://lee

2021-01-05 21:41:14 138

原创 剑指offer链表——判断链表是否有环

题目:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 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 的第三个节点,那么在调用了你的函数之

2020-12-30 11:19:22 241

原创 剑指 Offer52链表——两个链表的第一个公共节点

题目:输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 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

2020-12-30 10:44:28 144

原创 剑指 Offer22链表——链表中倒数第k个节点

题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-

2020-12-30 10:23:16 84

原创 剑指 Offer06链表—— 从尾到头打印链表

题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。分析:这里面是反向输出到数组,可以考虑使用栈结构先进

2020-12-30 09:48:34 70

原创 指 Offer24链表——反转链表

题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000注意:本题与主站 206 题相同来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof著作权归领扣网络所有。

2020-12-30 09:04:30 71

原创 剑指 Offer35链表—— 复杂链表的复制

题目:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fu-za-lian-

2020-12-29 21:19:45 67

原创 计算机网络五层模型(ing)

计算机网络核心是TCP/IP模型,计算机网络的层次模型可分为OSI七层模型(理论),TCP/IP四层模型(业界),兼顾理论与实际,通常选择把这两者融合形成五层模型,本文也将围绕这五层模型展开。计算机网络五层模型应用层:传输层:网络层:链路层:物理层:应用层:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句传输层:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六

2020-11-22 16:14:53 4899 6

原创 剑指Offer45数组——把数组排成最小的数

题目:输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: “102”示例 2:输入: [3,30,34,5,9]输出: “3033459”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。分析:字符串拼接

2020-11-12 19:23:28 161

原创 剑指Offer43数字——1~n 整数中 1 出现的次数

题目:输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2020-11-12 15:28:20 279 1

原创 剑指Offer57数组——和为s的两个数字

题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/he-wei-

2020-11-12 12:14:17 110 1

原创 剑指Offer40数组——最小的k个数

题目:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof著作权归领扣网络所有。商业转载请联

2020-11-11 17:50:50 86

原创 剑指Offer21数组——调整数组顺序使奇数位于偶数前面

题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。提示:1 <= nums.length <= 500001 <= nums[i] <= 10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/diao-zheng-shu-

2020-11-11 17:33:06 175

原创 剑指Offer17数组——打印从1到最大的n位数

题目:输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]说明:用返回一个整数列表来代替打印n 为正整数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转

2020-11-11 16:51:26 138

原创 剑指Offer64数字——求1+2+…+n

题目:求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45分析:这里考虑递归思路,中点解决递归终止条件,即出口在哪里?思路:1、 递归 + 短路与逻辑运算;短路与运算 && 左边为true才会执行右边,所以构成条件判断,破除题目限制;2、将乘除运算转化为运算;附上,暂时不建议;代码实现:思路1

2020-11-11 16:45:12 86

原创 剑指 Offer14动态规划—— 剪绳子 II

题目:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m - 1] 。请问 k[0]k[1]…*k[m - 1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1

2020-11-10 15:11:27 186 2

原创 剑指 Offer14动态规划——剪绳子1

题目:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4

2020-11-10 11:08:52 171 2

原创 剑指 Offer11数组——旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [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来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi

2020-11-09 14:22:39 99

原创 剑指 Offer39众数——数组中出现次数超过1/3的数字

题目:给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)的算法解决此问题。 示例 1:输入:[3,2,3]输出:[3]示例 2:输入:nums = [1]输出:[1]示例 3:输入:[1,1,1,3,3,2,2,2]输出:[1,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element-ii著作权归领扣网络所有

2020-11-08 22:22:00 313

原创 剑指 Offer39位运算——数组中出现次数超过一半的数字

题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处

2020-11-08 17:34:14 128

原创 剑指 Offer15位运算——查找二进制中1的个数

题目:请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 000000000

2020-11-08 16:23:17 116

原创 剑指 Offer56位运算——出现一次系列

题目:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian

2020-11-07 23:48:38 88

原创 剑指offer10动态规划——斐波那契数列

题目:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl

2020-11-07 23:39:12 236

原创 剑指offer4数组——判断二维数组中是否存在指定值

题目:在一个 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]]给定 target = 5,返回 true。给

2020-11-06 20:41:54 917

原创 剑指offer53数组——寻找0 - n-1中缺失的值

题目:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处

2020-11-06 20:37:23 141 3

原创 剑指offer53数组——有序数组查找指定数出现次数

题目:统计一个数字在排序数组中出现的次数。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例 2:输入: nums = [5,7,7,8,8,10], target = 6输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2020-11-06 20:30:55 295

原创 剑指offer29数组——顺时针打印矩阵

题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shun-shi-zhen-da

2020-11-06 20:20:38 135

原创 剑指offer03数组——寻找重复数字

题目:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof著作权归领扣网络所有。商业转载请

2020-11-06 19:40:09 135

原创 经典排序算法java,python实现

1.BubbleSortjava versionpublic class BubbleSort01 { public static void bubble(double[] arr){ if (arr == null || arr.length < 2){ return; } for (int e = arr.length - 1; e > 0; e--){ for ( int i = 0

2020-10-04 16:24:00 225

原创 风控比赛第五弹

模型融合:不知不觉来到了模型融合,想到天池的风控好多天没有提交了,决定提交一下,最新成绩是0.7389,rank11。说来惭愧特征工程方面就制作了一类欺诈率特征,总共10个,然后使用lgb跑了下0.7399(线上0.7387)cat跑了下0.73916,0.8和0.2加权融合0.7389,融模有2个万的收益,有点小。模型融合和特征工程:说这之前先谈下昨天下午的翼支付风控决赛答辩,全程看下来决赛里面还是有不少大佬的思路值得学习。在模型融合方面有些思路值得借鉴。1.鲁棒性<——>拟合效果

2020-09-27 13:46:55 196

原创 风控比赛第四弹

模型调参一、贪心调参二、网格调参三、贝叶斯调参一、贪心调参对于模型中的参数逐一调参,只关注每个参数当前的最优结果:举个栗子,下面是我使用的祖传lgb参数(线下0.7366)为基础开始——贪心调优,原谅我几乎不刻意调参(其实是不会快速简便的方法):model = lgb.LGBMClassifier(objective='binary', boosting_type='gbdt', num_le

2020-09-24 20:36:10 158

原创 风控比赛第三弹

特征工程:对于结构化数据,可以考虑直接放到模型当中暴力学习,但没有万能的模型(或许以后会有,能够实现数据自动提取清洗,特征构建优化哈哈哈)比如本次天池的这此风险预测,仅仅构造一个地域欺诈率特征,使用LGB模型可达到0.7346的成绩,想进一步提升就要深入了解数据,进行特征工程。学习内容:提示:这里可以添加要学的内容例如:数据简单预处理:a. 缺失值的填充b. 时间格式处理c. 对象类型特征转换到数值异常值处理:a. 基于3segama原则b. 基于箱型图数据分箱a. 固定宽度分

2020-09-21 18:35:39 94

原创 风控比赛第二弹

1.数据分析是结构化数据建模前的重要部分,但是这一部分之前很少做,一直是暴力学习,把所有的特征全部扔到模型当中。

2020-09-18 13:45:27 183

原创 风控比赛第一弹

1.金融风控比赛是典型的结构化数据挖掘比赛,通过表格化数据进行特征提取,目标编码,选择模型实现风险用户识别。2.特征提取方面,除了常见的特征构造加减乘除,利用NLP的知识实现目标编码逐渐体现出优势,如:TF-IDF,Word2vector,都表现出了较好的优势。3.模型选择方面,LightGBM,Catboost,Xgboost都表现较好,前两者运行更快,且能自动处理类别特征,处理缺失值。由于是决策树算法,通常在研究单个特征时,不需要进行归一化处理,但是在cross时需要考虑归一化。4.模型的融合可以

2020-09-12 22:46:14 548

原创 文本分类_基于深度学习3(Transformer和Bert)

了解Transformer的原理和基于预训练语言模型(Bert)的词表示学会Bert的使用,具体包括pretrain和finetuneTransformer为什么需要?1.结构化数据挖掘中,大多无序无局部信息左边encoding 右边decoding2.bert是一个预训练语言模型,bert是一个考虑上下文(双向)的模型,为了适配多任务下的迁移学习,BERT设计了更通用的输入层和输出层,学习阶段如下:本次NLP训练营有些遗憾,特别是对知识的理解。...

2020-08-04 16:50:30 328

原创 文本分类_基于深度学习2(Word2Vec+TextCNN)

本章介绍Word2Vec的使用,以及TextCNN、TextRNN的原理和训练,最后介绍用千长文档分类的HAN。Word2Vec,词嵌入模型。word2vec的主要思路:通过单词和上下文彼此预测,对应的两个算法分别为:Skip-grams (SG):预测上下文Continuous Bag of Words (CBOW):预测目标单词跳字模型假设基于某个词来生成它在文本序列周围的词。举个例子,假设文本序列是“the”“man”“loves”“his”“son”。以“loves”作为中心词,设背

2020-07-31 23:00:24 1146

原创 字典、集合和序列的append()和extend()小问题

这里补充下list的一个问题,append()和extend()的返回值都是Nonelist0 = list0.append(2) list0 = lsit0.extend([1,2,4,7]) 都会出现错误,使用时直接list0.append(2) list0.extend([1,2,4,7])下面开始今天的内容: 字典就是键值对 key value,集合没有值的键 key,list(dict.key()) 获取字典的key值以列表表示list(dict.key())获取字典的valu

2020-07-31 22:33:10 961

原创 列表元组字符串的一些方法复习

本博客不求面面俱到。列表,列表推导式task1提到过。列表中存储的是指针,原因是list的元素可以是任何对象。(即使同类型如[1,3,5],也是保存了三个指针和三个整数对象)append 是追加,把一个东西整体添加在列表后,而 extend 是扩展,把一个东西里的所有元素添加在列表后。list.insert(index, obj) 在编号 index 位置前插入 obj。list.remove(obj) 移除列表中某个值的第一个匹配项list.pop([index=-1]) 移除列表中的一个元素

2020-07-28 22:07:59 163

原创 文本分类_基于深度学习(FastText)

本部分深度学习进行新闻分类,同时完成特征提取和文本分类。上一篇谈到的传统机器学习提取特征的One-hotBag of WordsN-gramTF-IDF等文本表示方法存在一定缺陷转,换得到的向量维度很高,需要较长的训练实践;没有考虑单词与单词之间的关系,只是进行了统计。下面讲下子词嵌入方法的诞生使命和创造过程:构词学(morphology)作为语言学的一个重要分支,研究的正是词的内部结构和形成方式。在word2vec中,我们并没有直接利用构词学中的信息。无论是在跳字模型还是连续词袋模型中,

2020-07-27 20:24:43 231

原创 再看异常处理

try except异常处理1.常见三种语法:try except (可以多个except)try except finally (finally语句一定会执行,表示与异常与否没关系,常用于关闭资源等清理工作)try except else (没发生异常不执行except语句,就会执行else语句)2.下面列出常见的8类异常IOError: 输入/输出异常;(基本上是无法打开文件)ImportError: 无法导入模块或包;(出现这个异常基本上是路径问题或名称错误)Indentatio

2020-07-24 21:35:20 97

空空如也

空空如也

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

TA关注的人

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