自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer 121.买卖股票

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1

2021-11-20 21:56:18 163

原创 300. 最长递增子序列

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例 3:输入:nums = [7,7,7,7,7

2021-11-20 21:52:21 148

原创 141. 环形链表

https://leetcode-cn.com/problems/linked-list-cycle/[题目地址]思路:用Set遍历ListNodepublic boolean hasCycle(ListNode head) { Set<ListNode> set = new HashSet<>(); while(head != null){ if(set.contains(head)){

2021-11-18 22:12:03 239

原创 206链表反转

206. 反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000]-5000 <= Node.val <= 5000进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?1. 栈将原链表入栈,再

2021-11-17 09:40:16 159

原创 01.04. 回文排列

面试题 01.04. 回文排列给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例1:输入:“tactcoa”输出:true(排列有"tacocat"、“atcocta”,等等)思路:set去重,如果set集合中有当前字符,就remove.如果没有就add。最后判断set.size() <= 1则是回文字符串序列。位图,字符一共128个,用两个Long就可以表示(1个l

2021-11-16 10:56:33 457

原创 https比http哪些地方改良了

httptcp三次握手,明文传输。httpstcp三次握手,ssl加密,加密传输。tcp三次握手之后,客户端向服务器发送url请求,里面携带有加密算法列表,服务器选择认为最佳的算法之后,生成公钥和私钥,用证书(公钥)回复。(所以说,是在ssl第一次握手时就确定了用哪一种算法。)然后客户端生成一个随机数,用证书的公钥加密后发送给服务器,服务器用私钥解密后得到随机数。之后,服务器就可以把information+随机数 用之前商定好的算法进行对称加密。发送给客户端。客户端收到后进行解

2021-11-09 17:43:28 2141

原创 JWT(JSON Web Token)

JSON WEB TOKEN在第一次客户端向服务器进行验证时,服务器把用户信息生成token发送给客户端,之后每次发送请求客户端cookie携带这个token就可以了。token无需存在服务器里!服务器对token进行解密、验证。验证:分离出Header和Payload,解码得到初始json信息,用自己的加密方式对信息进行加密,得到结果与第三部分Signature比对,如果一致认为是当前用户。1.What is JSON Web Token?JSON Web Token (JWT) is an

2021-11-09 15:55:57 191

原创 剑指 Offer 15. 二进制中1的个数

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为 汉明重量).)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用 二进制补码 记法来表示有符号整数。因此,在上面的 示例 3 中,输入表示有符号整数 -3。示例 1:输入:n = 11 (控制台

2021-11-08 21:27:58 85

原创 面试题 16.06. 最小差

给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差示例:输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8}输出:3,即数值对(11, 8)提示:1 <= a.length, b.length <= 100000-2147483648 <= a[i], b[i] <= 2147483647正确结果在区间 [0, 2147483647] 内思路:两个数组排序;双指针;注意超过int范

2021-11-08 12:08:44 83

原创 1018. 可被 5 整除的二进制前缀

给定由若干 0 和 1 组成的数组 A。我们定义 N_i:从 A[0] 到 A[i] 的第 i 个子数组被解释为一个二进制数(从最高有效位到最低有效位)。返回布尔值列表 answer,只有当 N_i 可以被 5 整除时,答案 answer[i] 为 true,否则为 false。示例 1:输入:[0,1,1]输出:[true,false,false]解释:输入数字为 0, 01, 011;也就是十进制中的 0, 1, 3 。只有第一个数可以被 5 整除,因此 answer[0] 为真。示例

2021-11-07 23:27:15 83

原创 1015. 可被 K 整除的最小整数

给定正整数 K,你需要找出可以被 K 整除的、仅包含数字 1 的最小正整数 N。返回 N 的长度。如果不存在这样的 N,就返回 -1。示例 1:输入:1输出:1解释:最小的答案是 N = 1,其长度为 1。示例 2:输入:2输出:-1解释:不存在可被 2 整除的正整数 N 。示例 3:输入:3输出:3解释:最小的答案是 N = 111,其长度为 3。提示:1 <= K <= 10^5 public int smallestRepunitDivByK(i

2021-11-07 23:21:18 168

原创 26. 删除有序数组中的重复项

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。双指针,i=0,j=1; 如果nums[i] == nums[j] , j++。如果nums[i] != nums[j] ,i++,nums[i] = nums[j],j++。这样直接把把相同的值覆盖掉,并且只操作一个数。用时很短。public int removeDuplicates.

2021-11-07 20:43:57 106

原创 540. 有序数组中的单一元素

给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。示例 1:输入: nums = [1,1,2,3,3,4,4,8,8]输出: 2示例 2:输入: nums = [3,3,7,7,10,11,11]输出: 10提示:1 <= nums.length <= 1050 <= nums[i] <= 105进阶: 采用的方案可以在 O(log n) 时间复杂度和 O(1) 空间复杂度中运行吗?1.暴力 O(n) O(1

2021-11-07 12:18:07 88

原创 面试题 05.07. 配对交换

我写的:首先把数字转换成二进制,二进制字符数组中,奇数位和偶数位进行交换,最后再转为十进制。用到的函数:Integer.toBinaryString(num); Integer.parseInt(string,2);最后:我是sb,下面是绝妙的大神代码!class Solution { public int exchangeBits(int num) { //奇数 int odd = num & 0x55555555; //0101(32位..

2021-11-05 21:54:10 100

原创 面试题 16.01. 交换数字

面试题 16.01. 交换数字class Solution { public int[] swapNumbers(int[] numbers) { numbers[0] = numbers[0] + numbers[1];//a = a + b; numbers[1] = numbers[0] - numbers[1];//b = a - b; 因为ab值要交换,所以,把之前的a的值赋给b,这样就完成交换了。 numbers[0] = number

2021-11-05 21:06:29 63

原创 leetcode+剑指offer

dp1.JZ30 连续子数组的最大和描述输入一个长度为n的整型数组a,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n).提示:1 <= n <= 500-100 <= a[i] <= 100示例1输入:[1,-2,3,10,-4,7,2,-5]返回值:18说明:输入的数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},因此输出为该子数组的和 18。public clas

2021-10-10 21:40:54 67

原创 2021-05-31二维数组中的查找

1.暴力查找bool Find(int target, vector<vector<int> > array) { vector<vector<int>>::iterator iter ; vector<int>::iterator it; for(iter = array.begin(); iter < array.end(); iter++) { for(.

2021-06-07 20:59:09 75

原创 冒泡排序、选择排序、插入排序

1. 冒泡排序循环n次,每次在array.length中相邻两个做比较,较小的数渐渐浮到前面。 public static int[] bubbleSort(int[] array) { if(array.length > 0) { for(int i=0; i<array.length; i++) { for(int j=0; j<array.length-i-1;

2021-05-26 22:22:10 84

原创 模式匹配算法Leedcode-strStr()

模式匹配算法实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。题目链接:https://leetcode-cn.com/classic/problems/implement-strstr/description/参考《大话数据结构》第五章KMP算法就是为了不必要的回溯不发生。一、朴素的模式匹配算法最好情况:每次都是首字母不匹配,O(

2021-05-08 21:37:29 81

原创 python机器学习--文本分类三级项目总结

我们组的题目是中文新闻文本标题分类。我用的模型有多项式朴素贝叶斯、逻辑回归、SVM、岭回归、决策树、神经网络。就是一般的机器学习模型,都试了一试。最高分81.4。隔壁组用深度学习最高分88.8。但是冯老师说word分词的话能达到95,俺也不知道,俺还没试。文本分类的一般步骤都是:数据预处理-分词-词向量特征提取-模型训练-预测冯老师是干自然语言处理的,在他面前答辩,就跟小鸡仔一样···如果说用一般的机器学习模型,就要根据具体的题目寻找能够处理这个问题的模型,把模型的算法步骤用流程图展示,再自己改动一些算

2021-04-22 19:48:59 587

原创 OS-信号量管理

信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。目的:给共享资源设立一个标志,表示共享资源的占用情况。当临界资源被某进程访问时,则本进程不能访问。当临界资源未被访问时,对标志进行查询,若本进程的全部共享资源都准备好了,则进入就绪状态,等待处理机处理。整形信号量

2020-12-04 19:58:04 267

原创 Python基础

1.数据类型和变量整数、浮点数、字符串、布尔值(and 、or 、not) 、空值(None)。变量和常量2.字符编码8bit 作为 1byte字母A用ASCII编码是十进制65字符0用ASCII编码是十进制48函数 ord()获取字符的整数表示;chr()把编码转换为对应字符。encode();decode()。format():格式化字符串,用传入的参数依次替换字符串内占位符。3.list和tuplelist:有序集合,可随时添加和删除其中的元素。append()insert(

2020-08-06 19:51:43 115

原创 javaweb连接数据库

javaweb连接数据库mysql 8 版本 url =jdbc:mysql:///0620database?useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=GMT

2020-06-25 16:01:43 146

转载 四舍五入保留小数

https://blog.csdn.net/devnn/article/details/83104228

2020-03-28 18:04:05 134

原创 预测二手车价格

题目链接:https://tianchi.aliyun.com/competition/entrance/231784/introduction?spm=5176.12281957.1004.1.38b02448ausjSX题目理解:https://shimo.im/docs/RhQKcjD8qtw9XQYt/read1.读取数据集#读取数据集root="C:\\Users\\Cassi...

2020-03-24 20:42:35 1273

原创 斐波那契数列

(1)非递归int main(){ int n; cin >> n; int sum = 1; int b = 1; int t; if (n == 1 || n == 2) cout<< 1; if (n > 2) { for (int i = 3; i <= n; i++) { t = sum; sum = (...

2020-03-07 19:54:33 88

原创 归并排序

归并排序步骤:1.分解2.解决3.合并 #include<iostream>using namespace std;void Merge(int* a, int p, int q, int r){ int n1 = q - p + 1; int n2 = r - q; int* L = new int[n1 + 1]; int* R = new int[n2 ...

2019-12-29 10:09:27 93

原创 动态规划

动态规划-----找零钱问题1.写出递归式2.建表查表避免重复计算 #include<algorithm>#include<iostream>#include<cmath>using namespace std;int makeChange(int values[], int valuesKinds, int money, int coinsU...

2019-12-08 16:13:58 129

原创 快速排序(挖坑法)

快速排序(挖坑法)#include<iostream>using namespace std;void swap(int &a, int &b){ int temp = a; a = b; b = temp;}void quicksort(int a[],int left, int right){ if (left > right) re...

2019-12-07 17:23:14 191 1

原创 快速排序

快速排序排到最后当基数在左边时,用a[right]与基数交换;(因为a[rihgt]<a[left])当基数在右边时,用a[left]与基数交换;

2019-12-07 17:00:22 95

原创 DFS

DFS深度优先遍历:从一个顶点开始,沿着一条路一直走到底,访问过一个顶点,就把这个顶点标记一下。直到顶点没有出度或者没有还未访问过的顶点了,就回溯到上一个顶点,继续判断,直到访问全部顶点。(递归)深度优先搜索:深度优先遍历方法知道找到目标顶点。图二是根据邻接表画出来的,如果只看第二张图四个选项都可,但是不要忘了,题中的邻接表表示了存储顺序,所以只有一种答案。从V1开始访问,下一个...

2019-12-01 15:00:41 182

原创 查看头文件里的函数

#查看头文件里的函数##比如:std::stack st;st. 函数就会出现在列表里

2019-11-27 19:04:48 974

原创

#栈##栈的creat函数Stack CreateStack(int MaxSize){ Stack S = (Stack)malloc(sizeof(struct SNode)); S->Data = (ElementType*)malloc(MaxSize *sizeof(int) ); **S->MaxSize = MaxSize** S->Top1 =...

2019-11-18 22:28:34 255

原创 opencv

opencv改变图像大小resize(logo1,logo2,Size(logo.size().width / 4, logo.size().height / 4));//改变图像的大小resize(原图像,目的图像,目的图像的尺寸(长,宽));确定兴趣区域ROI的坐标Mat imageROI = image(Rect(0, 0, logo.size().width,logo.size(...

2019-07-01 20:28:56 126

空空如也

空空如也

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

TA关注的人

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