自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 471.大整数乘法

题目输入两个 100100 位以内的正整数,输出它们的乘积。输入​ 共两行,每行一个大整数。输出​ 共一行,表示两数的乘积。样例输入20192019100100100样例输出2021223121101900分析倒序存入数组ans[i + j] = a[i] * b[j]代码如下#include <iostream>#include <strin...

2019-11-16 18:54:47 203

原创 3.无重复字符的最大长度

题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke...

2019-11-12 17:15:19 193

原创 1.两数之和

题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]分析最笨的...

2019-11-12 14:52:32 145

原创 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题目分析...

2019-11-06 16:47:44 120

原创 21.合并两个有序链表

题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4题目分析本题不涉及复杂的算法和数据结构,可以使用递归思想解答使用循环法时,利用虚拟头节点比较方便代码和注释解法1:递归/** * Defini...

2019-11-06 15:42:35 98

原创 3.无重复字符的最长子串

题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke...

2019-11-04 18:33:27 121

原创 1.两数之和

题目题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]题目分...

2019-11-04 13:26:08 103

原创 270.最大子序和

题目题目描述​ 输入一个长度为 n的整数序列,从中找出一段不超过 M 的连续子序列,使得整个序列的和最大。​ 例如 1,−3,5,1,−2,3​ 当 m=4 时,S=5+1−2+3=7;​ 当 m=2 或 m=3 时,S=5+1=6。输入​ 第一行两个数 n,m​。​ 第二行有 n个数,要求在 n 个数找到最大子序和。输出​ 一个数,数出他们的最大子序和相关知识点使用c...

2019-10-19 10:52:42 226

原创 287.寻找重复数字

题目Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), prove that at least one duplicate number must exist. Assume that there is only one duplicate number,...

2019-10-06 17:15:58 107

原创 206.链表的翻转

题目Reverse a singly linked list.Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->1->NULL分析定义虚拟头节点以及p,q两个指针变量,完成每一步的翻转操作这里的虚拟头节点ret并没有指向head,而是充当了中间过度变量的作用代...

2019-10-05 21:08:09 84

原创 203.删除链表指定元素

题目Remove all elements from a linked list of integers that have value val.Example:Input: 1->2->6->3->4->5->6, val = 6Output: 1->2->3->4->5分析本题属于典型的链表节点删除题目,使用虚拟头节...

2019-10-05 19:03:11 94

原创 202.快乐数

题目Write an algorithm to determine if a number is “happy”.A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares...

2019-10-05 14:50:55 72

原创 160.链表交点

题目Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:分析由于连个链表的长度不同,没法直接比较,需要移动指针使两个指针分别在两个链表的相同索引处可以使用长度相减法...

2019-10-05 12:17:42 94

原创 142.环形链表 II

题目Given a linked list, return the node where the cycle begins. If there is no cycle, return null.To represent a cycle in the given linked list, we use an integer pos which represents the position (0...

2019-10-05 11:27:12 97

原创 141.环形链表

题目Given a linked list, determine if it has a cycle in it.To represent a cycle in the given linked list, we use an integer pos which represents the position (0-indexed) in the linked list where tail ...

2019-10-05 10:47:57 74

原创 24.成对交换链表节点

题目Given a linked list, swap every two adjacent nodes and return its head.You may not modify the values in the list’s nodes, only nodes itself may be changed.Example:Given 1->2->3->4, you...

2019-10-05 09:54:09 172

原创 19.删除链表的倒数第n个节点

题目Given a linked list, remove the n-th node from the end of list and return its head.Example:Given linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, t...

2019-10-05 08:52:38 77

原创 word2vec原理及实现

word2vec的两种计算方式CBOW模型原理图如下代码见github:word2vec_CBOW.pyskip-gram原理图如下:代码见github:word2vec_skip-gram运行结果随机抽取16个词,分别计算与这些词最接近的8个词...

2019-09-11 13:39:32 391

原创 神经网络的反向传播公式推导

前向传播的步骤z[l]=W[l]∗a[l−1]+b[l]z^{[l]} = W^{[l]} * a^{[l - 1]} + b^{[l]}z[l]=W[l]∗a[l−1]+b[l]a[l]=g(z[l])a^{[l]} = g(z^{[l]})a[l]=g(z[l])向量化的实现如下:z[l]=W[l]∗A[l−1]+b[l]z^{[l]} = W^{[l]} * A^{[l - 1]} ...

2019-09-04 12:04:00 303

原创 大数减法

分析思路大数减法的基本思想和大数加法一样,都是存储成数组的形式,按位进行计算大数减法的特殊性在于不够减时候的借位代码实现关键逻辑见注释#include<iostream>#include<cstring>using namespace std;//用字符串比较方式判断两个数的大小bool stringcmp(char *p1, char *p2) {...

2019-08-18 12:34:57 953

原创 大数相乘

两个大数相乘不同与上一篇文字大数相乘(阶乘),如果连个数都是大数,那么两个数都要逐位相乘大数相乘注意最后处理前置零代码如下#include<iostream>#include<cstring>using namespace std;#define max_n 3 char num[100];int ans[1000] = {1, 1};int m...

2019-08-17 21:00:38 148

原创 大数相乘(阶乘)

题目n! 的意思是 n × (n − 1) × … × 3 × 2 × 1例如,10! = 10 × 9 × … × 3 × 2 × 1 = 3628800,所以10!的各位数字和是 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27。求出100!的各位数字和。分析思路较大数字的阶乘结果需要开辟数组才能保存得下每一步都是当前数字和上一步的结果的每一位相乘,然后进位代码展...

2019-08-17 16:12:15 404

原创 位数不同的大数相加

分析思路当大数的位数不同时,相加时要注意位数的对齐代码如下关键逻辑见注释#include<stdio.h>#include<string.h>char num[55];int ans[55] = {0};int main() { for (int i = 0; i < 100; ++i) { scanf("%s", nu...

2019-08-17 15:56:30 251

原创 c语言实现大数加法(第一个有1000位数的斐波那契数的项数)

题目斐波那契数列是按如下递归关系定义的数列:F1 = 1 F2 = 1Fn = Fn−1 + Fn−2因此斐波那契数列的前12项分别是:F1 = 1F2 = 1F3 = 2F4 = 3F5 = 5F6 = 8F7 = 13F8 = 21F9 = 34F10 = 55F11 = 89F12 = 144第一个有三位数字的项是第12项F12。在斐波那契数列中,第一个有...

2019-08-17 15:22:38 1666

原创 求整数的位数公式

题目圆周素数197被称为圆周素数,因为将它逐位旋转所得到的数:197/971和719都是素数。小于100的圆周素数有十三个:2、3、5、7、11、13、17、31、37、71、73、79和97。小于一百万的圆周素数有多少个?思路分析逐位翻转需要直到整数的位数整数为公式为 y=log10x+1 y = log_{10}^x + 1 y=log10x​+1代码如下#include...

2019-08-17 14:30:48 2246

原创 递归形式的二分查找

题目克里斯蒂安·哥德巴赫曾经猜想,每个奇合数可以写成一个素数和一个平方的两倍之和。9 = 7 + 2×1215 = 7 + 2×2221 = 3 + 2×3225 = 7 + 2×3227 = 19 + 2×2233 = 31 + 2×12最终这个猜想被推翻了。最小的不能写成一个素数和一个平方的两倍之和的奇合数是多少?题目分析涉及到的知识点线性筛法找素数二分查找(递归和...

2019-08-17 14:08:55 157

原创 求整数的素因子的个数

思路分析在前面的文章中分析了求整数的约数个数,方法是利用了约数定理,在线性筛筛选素数的过程中对约数个数的数组进行标记。同样的方法,可以求整数的素因子,并且更加简单。代码如下代码分析见注释#include<iostream>using namespace std;#define max_n 1000000int prime[max_n + 5] = {0};int...

2019-08-17 12:05:22 1735

原创 求整数所有约数的和

思路分析在上一篇求整数的约数个数.的文章中,我们开一个存放整数约数个数的数组,利用线性筛的筛选素数的过程,对任意整数约数个数进行标记。同样的思路, 我们这里可以开一个存放整数约数和的数组, 利用线性筛筛选素数过程,对任意整数约数的和进行标记,代码如下#include<iostream>#include<cmath>using namespace std;#...

2019-08-17 10:47:49 2147

原创 求整数的约数个数

题目三角形数数列是通过逐个加上自然数来生成的。例如,第7个三角形数是 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28。三角形数数列的前十项分别是:1, 3, 6, 10, 15, 21, 28, 36, 45, 55, …让我们列举出前七个三角形数的所有约数:1: 13: 1,36: 1,2,3,610: 1,2,5,1015: 1,3,5,1521: 1,3,7,...

2019-08-17 01:37:15 1456

原创 记忆化搜索算法的一个简单应用

题目The following iterative sequence is defined for the set of positive integers:n → n/2 (n is even)n → 3n + 1 (n is odd)Using the rule above and starting with 13, we generate the following sequence...

2019-08-08 10:25:01 277

原创 滑动窗口法n个相邻数乘积的最大值

滑动窗口法n个相邻数乘积的最大值题目The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × 8 × 9 = 5832.731671765313306249192251196744265747423553491949349698352031277450632623...

2019-08-07 11:11:34 480

原创 普通筛和线性筛求某一范围内的质数

普通筛和线性筛求某一范围内的质数普通筛分析思路凡是可以通过除了1和他本身以外两个整数相乘得到的数必定不是质数。很常规的思考方式是用两层循环,外层从2开始直到最大边界,内层从2开始直它与外层的乘积到最大边界定义一个不小于最大边界的数组,并初始化所有元素为零,用数组的索引值作为范围内的整数。如果整数为合数,则把对应索引的数组值赋值为1代码如下#include<stdio.h&g...

2019-08-07 00:50:13 245

原创 如何在c/c++中使用π值

使用三角函数余弦函数cos(π)等于-1c/c++中math库里提供的反余弦函数acos(-1)就是π的近似值代码如下#include<iostream>#include<cstdio>#include<cmath>using namespace std;int main() { printf("%.15lf\n", acos(-1...

2019-08-02 10:02:43 9151 1

原创 求整数的最大质因子(欧拉第三题)

题目The prime factors of 13195 are 5, 7, 13 and 29.What is the largest prime factor of the number 600851475143 ?分析判断一个整数n是不是质数的循环过程,只需要判断n能否被n的平方根以内的整数整除 即可任意一个合数,都可以拆分成唯一的一组质数相乘的表示形式求整数的最大质因子,只需...

2019-08-01 17:06:50 1917

原创 辗转相除求解方程的整数解

题目已知a,b是整数,求ax + by=1的一组整数解。分析思考过程如下:先考虑一种最简单的情况,假设b为0,则a = 1,x = 1,y可以取任意值。如果系数a和b的最大公约数大于1,那么这个方程一定没有整数解。联想到辗转相除法求a,b两个数的最大公约数时,如果最大公约数为1,则无论a,b的初始值为多少当迭代到最后一轮的时候都有a = 1,b = 0,恰好与这个方程最简单的情况相同...

2019-07-30 17:20:06 1790

原创 二分查找求解单调递增序列的解

二分查找求解单调递增函数的解题目(欧拉45题)Triangle, pentagonal, and hexagonal numbers are generated by the following formulae:Triangle Tn=n(n+1)/2 1, 3, 6, 10, 15, …Pentagonal Pn=n(3n−1)/2 1, 5, 12, 22, 35, ...

2019-07-28 20:13:48 432

原创 leetcode 第9题判断回文数的两种方法对比

dfd

2019-07-26 12:17:54 217

原创 vim常用命令总结

vim常用命令总结vim的四种模式普通模式命令模式插入模式可视模式四种模式的切换普通模式可以执行的命令按功能划分删除操作只删除一个字符:x删除光标所在的行:dd从光标所在行开始一共删n行:ndd从光标所在位置删除到行尾:d$从光标所在位置删除到行首:d^或d0从光标所在单词的位置一直删到下个单词的开始:dw从光标所在的行一直删到文件的末尾:dG删除光标所...

2019-07-18 16:43:51 242

原创 Linux远程登录免密码设置

Linux多服务器间的免密码登录设置为什么要进行免密码登录免密码登录可以让用户不输入密码直接连到其他主机或同一台机器的不同用户,方便快捷密码登录适用于大批量集群操作通过公钥私钥登录认证的场景有很多,但原理相似免密登录三步曲为了更加直观的说明,现假设由A主机免密登录到B主机在主机A上使用命令ssh-genkey生成密钥对, 一直按回车键即可ssh-genkey第一步执行...

2019-07-18 14:33:38 621

原创 linux版本Typora安装

linux版本Typora安装Typora是一款轻便简洁的Markdown编辑器,它支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别。即时渲染使得你写Markdown就想是写Word文档一样流畅自如,不像其他编辑器的有编辑栏和显示栏。下载安装包官网下载较慢,这里直接给出百度云盘链接下载链接:https://pan.baidu.com/s/1qcVNjmpm7Qduw8Qbe...

2019-07-16 18:29:30 13582 3

address_crf

比较详细的ctf分词文档和程序,可以供入门自然语言处理的同学参考

2018-01-08

空空如也

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

TA关注的人

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