自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java中常用的函数总结

compareTo() 与 compareToIgnoreCase()比较函数compare 方法返回的是前后两个字符串对应的ASCII码的差值;compareToIgnoreCase 是忽略大小写再作比较。

2022-03-27 15:44:33 2493

原创 Java的对象和类

对象和类的相关知识

2022-05-27 10:39:39 120

原创 网页的构造块(HTML5)

一个网页主要包括以下三个部分:

2022-05-17 08:53:22 333

原创 Java 大数值的相关函数

大数值相关函数和使用方法

2022-05-14 17:45:36 197

原创 Java的String(对数组的操作) API

关于string操作的相关函数

2022-05-13 17:27:18 106

原创 Java的基本程序设计结构

JAVA核心卷的基础知识总结

2022-05-13 15:27:55 155

原创 优先队列的使用和相关例题

队列是一种线性表,和先进后出的栈相比,队列先进先出,深度搜素和广度搜索的算法都使用到了队列在使用队列函数时候尽量使用offer()来加入函数,使用poll()来获取并移出元素,add()和remove()方法在失败时候会跑出异常,如果要使用队首而不移除可以使用peek()或者element()函数...

2022-04-08 21:13:26 416

原创 Java函数replaceAll 的使用

replaceall 的使用1.replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);2.replaceAll的参数是regex或者char,即基于规则表达式的替换,比如,可以通过replaceAll(“\d”, “*”)把一个字符串所有的数字字符都换成星号;相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串。如果只想替换第一次出现的,可以使用replaceF

2022-04-06 16:34:04 18067 4

原创 C指针的分析(数组指针和指针数组)

指针:1. 指针基础定义:int *p 定义一个指针看,这个指针只指向一个整形,char *p 这个指针只指向一个字符型, 还有 double *p, float *p 等int *p;p 表示所指向的对象的地址, *p可以理解成对象本身#include<stdio.h>int main(){ int a = 5; int* p = &a; printf("p指向的值:%d ,p的值:%d ,a的地址:%d", *p , p,&a); return

2021-08-16 22:01:16 127 1

原创 5.基于C的背包问题多讲(二维费用背包)

有 N 件物品和一个容量是 V 的背包,背包能承受的最大重量是 M。每件物品只能用一次。体积是 vi,重量是 mi,价值是wi。求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,M,用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。接下来有 N行,每行三个整数 vi,mi,wi,用空格隔开,分别表示第 i件物品的体积、重量和价值。输出格式输出一个整数,表示最大价值。数据范围0&

2021-06-22 22:19:16 112

原创 4.基于C的背包问题多讲(混合背包)

有 N 种物品和一个容量是 V 的背包。物品一共有三类:第一类物品只能用1次(01背包); 第二类物品可以用无限次(完全背包); 第三类物品最多只能用 si 次(多重背包);每种体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。si=−1 :表示第 i 种物品只能

2021-06-22 22:03:12 169

原创 3.基于C的背包问题多讲(多重背包及其相关优化)

有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi, wi, si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤1000<vi,wi,si≤100输入样例4 51

2021-06-22 16:58:54 124

原创 2.基于C的背包问题多讲(完全背包)

有 N 种物品和一个容量是 V的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N行,每行两个整数 vi,wi,用空格隔开,分别表示第 i种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 51 22 43 4

2021-06-22 10:23:22 131

原创 1.基于C的背包问题多讲(01背包)

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包 ,可使这些物品的总体积不超过背包容量量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 51 22 4

2021-06-22 10:09:44 117

原创 873.枚举找出升序数组中最长的斐波那契数列

最长的斐波那契子序列的长度如果序列 X_1, X_2, …, X_n 满足下列条件,就说它是 斐波那契式 的:n >= 3对于所有 i + 2 <= n,都有 X_i + X_{i+1} = X_{i+2}给定一个严格递增的正整数数组形成序列,找到 A 中最长的斐波那契式的子序列的长度。如果一个不存在,返回 0 。(回想一下,子序列是从原序列 A 中派生出来的,它从 A 中删掉任意数量的元素(也可以不删),而不改变其余元素的顺序。例如, [3, 5, 8] 是 [3, 4, 5,.

2021-05-11 14:57:07 237

原创 870. 优势洗牌(c语言用结构体解决)

给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。返回 A 的任意排列,使其相对于 B 的优势最大化。示例 1:输入:A = [2,7,11,15], B = [1,10,4,11] 输出:[2,11,7,15]示例 2:输入:A = [12,24,8,32], B = [13,25,32,11] 输出:[24,32,8,12]解题思路:本题是力扣870题,上面这个题核心就是将A重新排列,排列后和B相比满足对应位置上的数字

2021-05-06 19:50:46 229

原创 栈顶指针设计和数据进出栈时指针移动的关系

栈是先进后出的结构体,栈顶指针有两种情况 1,栈顶指针指向的是空的位置 2.栈顶指针指向栈顶的数据第一种情况:当栈顶指针指向的是一个空位置。当栈不为空的时候 想出栈时候,系统得知道哪个数据出栈,此时指向栈顶的指针需要向下移动一个单元告诉系统即将出栈的数据的位置。 当数据需要进栈时候,系统需要知道数据放在哪个位置,此时指针指向的是一个空单元,所以数据先入栈,然后指针再移动。第二种情况:当栈顶指针指向的是一个实际数据。当栈不为空时,当数据想出栈,此时指针指向的正好是即将出栈的数据,指针告诉了系统这个数据

2021-04-14 20:03:10 5443 3

原创 malloc( )函数和calloc( )函数的异同

malloc()函数malloc()会找到合适的内存,但是不会为其赋名,会返回这块内存空间的起始位置(首字节地址),因此可以将该地址赋予给指针,如果malloc()分配内存失败会返回空指针例:分配30个double类型的内存空间,double * ptd;ptd = (double * )malloc(30*sizeof(double));分配的内存由指针ptd指向,可以用ptd[0],代表第一个double元素,ptd[1] 表示第二个元素,为了避免内存泄漏malloc()函数通常和free(

2021-04-08 10:48:01 108

原创 连续正整数和为 N,求一共有多少组

给定一个正整数 N,试求有多少组连续正整数满足所有数字之和为 N?示例 1:输入: 5输出: 2解释: 5 = 5 = 2 + 3,共有两组连续整数([5],[2,3])求和后为 5。示例 2:输入: 9输出: 3解释: 9 = 9 = 4 + 5 = 2 + 3 + 4分析:对于连续的整数,可以类比于公差是1的等差数列,首项为a,连续n个数的和N=(2a+n-1)*n/2,即求2N=(2a-1+n)n整数解的个数所以只要枚举出满足以下两个条件的结果即可:1.n是2N的因子2.2N除

2021-04-02 16:51:06 776

原创 sprintf()函数将数字转换成字符串

给你一个仅由数字 6 和 9 组成的正整数 num,你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 请返回你可以得到的最大数字。输入:num = 9669输出:9969解释:改变第二位数字可以得到 9969 。最大的数字是 9969 。int maximum69Number (int num){ char strNum[6]; sprintf(strNum, "%d", num); /* 数字转为字符串 */ int len = strlen(strNum)

2021-04-01 11:05:46 2719

原创 颜色分类算法

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-colors示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]示例 3:输入:nu

2021-03-24 19:15:07 629

原创 匹配子序列的单词数

给定字符串 S 和单词字典 words, 求 words[i] 中是 S 的子序列的单词个数。示例:输入:S = “abcde”words = [“a”, “bb”, “acd”, “ace”]输出: 3解释: 有三个是 S 的子序列的单词: “a”, “acd”, “ace”。注意:所有在words和 S 里的单词都只由小写字母组成。S 的长度在 [1, 50000]。words 的长度在 [1, 5000]。words[i]的长度在[1, 50]。来源:力扣(LeetCode)

2021-03-23 16:08:08 348

转载 如何在CSDN上插入公式

偶尔需要在文章中插入公式,正好有这个文章,转发下,方便以后对照文章写公式原链接:原文链接前言我们经常需要在csdn网站上写一些专业的数学公式,特别是在写与 数字信号处理和机器学习有关的博客时,为了友好地将公式展示给 读者,我们需要学习一些LaTex语法,特此记录。知识储备1.四则运算a+ba+ba+b 显示效果 a + b a+b a+ba−ba-ba−b显示效果 a − b a-b a−ba∗ba*ba∗b 显示效果 a ∗ b a*b a∗bab\frac{a}{b}ba​ 显示效果 a

2021-03-03 14:46:43 351 1

原创 C实现蓄水池抽样算法

蓄水池抽样算法:当内存无法加载全部数据时,如何从包含未知大小的数据流中随机选取k个数据(每一次读都只是K个数),并且要保证每个数据被抽取到的概率相等。*隐含条件:*只能顺序读取,然后保证每个数读取的概率都相同,随机读取K个,也就是说内存内最多只能装下K个数据1.当 k = 1 时即此题的情况也就是说,我们每次只能读一个数据。假设数据流含有N个数,我们知道如果要保证所有的数被抽到的概率相等,那么每个数抽到的概率应该为 1/N那如何保证呢?先说方案:每次只保留一个数,当遇到第 i 个数时,以 1

2021-03-03 14:42:50 382 1

原创 C解决构建乘积数组

给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。leetcode上面提供了一种非常精妙的算法,空间复杂度为nint* constructArr(int* a, int aSize, int* returnSize){ int *arr = NULL; int i, temp; if

2021-03-02 16:59:29 95

原创 罗马数字的计数规则和算法实现罗马数字和十进制的相互转换

1.罗马数字的计数规则罗马数字共有7个 I(1) ,V(5),X(10),C(100),D(500),M(1000)。a、重复数次:一个罗马数字重复几次,就表示这个数的几倍。比如: III表示3,XXX表示30。 同一数码最多只能出现三次,如40不可表示为XXXX,而要表示为XL。例外:由于IV是古罗马神话主神朱庇特(即IVPITER,古罗马字母里没有J和U)的首字,因此有时用IIII代替Ⅳ。b、右加左减:在较大的罗马数字的右边记上较小的罗马数字,表示大数字加小数字。在较大的罗马数字的左边记上

2021-02-26 16:06:36 2563

原创 关于C指针的简单用法

1.简单的定义指针#include<stdio.h>int main(){int a=12;int *point =&a;printf("%d\n",*point);return 0;}假设a=15,这个数字15放在内存地址24459963的位置,上面代码中 point 表示a的地址也就是24459963,而*point代表a的值122.指针在函数中的使用#include<stdio.h>void increment(int *point){ (*p

2021-02-25 21:41:52 180

原创 N个数任意组合相加得不到的数中的最小值

题目:小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和的数字中的最小数(从1开始)。输入描述:输入第一行为数字个数n (n ≤ 20)第二行为n个数xi

2021-01-20 07:45:34 587 2

原创 基于数组判断字符串是否是回文

“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。例如:A = “aba”,B = “b”。这里有4种把B插入A的办法:在A的第一个字母之前: “baba” 不是回文在第一个字母‘a’

2021-01-18 07:13:24 1549

原创 C基于贪心思想实现网格盒子欧几里得距离不等于固定数的最大分布

题目:二货小易有一个W*H的网格盒子,网格的行编号为0 ~ H-1,网格的列编号为0 ~ W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为: (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根。小易想知道最多可以放多少块蛋糕在网格盒子里。引用:原文描述添加链接描述满足欧几里得距离不等于2,则同一行中任意两块蛋糕的距离一定大于等于2或者为0才可以,在任意斜对角线上的蛋糕都不可能

2021-01-16 08:50:01 95 1

原创 N个数最少能由多少个数异或产生

题目描述:你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的精神,你想购买更少的颜料就满足要求,所以兼职程序员的你需要编程来计算出最少需要购买几种颜色的颜料?(输出最少需要在商店

2021-01-13 07:34:01 372

原创 C实现递归的经典案例

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。分析:无论中间怎么跳,第n个台阶是必须要碰到的,他可以从第n-1个跳一步来,也可以是第n-2个跳两步过来,两种情况分别代表着不同的跳法,即第n个台阶的跳法:JumpNumber[n]=JumpNumber[n-1]+JumpNumber[n-2];以此类推,跳到JumpNumber[n-1]的也是由n-2或者n-3跳过来,而JumpNumber[n-2]是由n-3和n-4跳过来,

2021-01-12 10:49:58 386

原创 链表中每一个节点的值都在 0 - 9 之间,链表整体代表一个整数。 两个这种链表,请生成个整数相加值的结果链表。

问题详述: 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。例如:链表 1 为 9->3->7,链表 2 为 6->3,最后生成新的结果链表为 1->0->0->0。算法实现:1.将链表翻转a.实现原理图:b.实现函数 struct ListNode* reverseList(struct ListNode* head) struct ListNode *en

2021-01-12 09:09:49 1498

原创 C实现判断链表是否有环

//设置两个速度不同的指针同时从链表的第一个节点开始遍历链表,//一个快指针p2每次移动两个节点,一个慢指针p1每次移动一个节点,//若两个指针能相遇,则存在环。 #include <stdbool.h> bool hasCycle(struct ListNode* head ) { struct ListNode *p1=head, *p2=head; while((p2 != NULL) && (p2->next != NULL))

2021-01-11 09:45:58 166

原创 C实现从一个文本中找到最长无重复字符串

/*由于需要开辟数组,算法适合数据量相对较小的数据集*/#include<stdio.h>int maxLength(int* arr, int arrLen ) { int l = 0, r = 0,i=0; int maxlen = 0; int a[100000]={0}; while(r < arrLen) { if(a[arr[r]] > 0){ a[arr[l]] = 0; l++; }

2021-01-09 22:27:22 172

原创 串口介绍以及开发板没有串口如何查看打印信息

串口介绍以及开发板没有串口如何查看打印信息1.什么是串口串行接口简称串口,是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。传输数据时一位一位地顺序传送,使得通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。数据的传输还涉及的缓存这一块。2.开发板上串口的作用a、向开发板下载程序.b、监控程序运行。开发板上程序在运行过程中,会将

2020-12-26 11:36:28 1565

原创 两台主机如何利用一根网线传输文件

如何利用一根网线传输文件材料: 网线一根,主机A,主机B 都是win10版本目的:将主机A中的一个新建文件夹文件传送给B步骤一:将主机A,B用网线打开B机的“网络和internet设置”查看适配器,以太网2 就是链接网络时候创建的网卡查看ip地址:win+r 打开窗口输入cmd回车进入dos窗口在dos窗口中输入指令 :ipconfig 回车查看IP地址以太网适配器 以太网2,就是刚创建的网卡,IP地址是192.168.1.2打开主机B 进入dos窗口 输入指令 :ping 192.16

2020-12-01 20:32:32 879

原创 Arm9开发板u-boot环境下ping主机和虚拟机

开发板,主机,虚拟机的互联开发板通过网线连接主机,在网络设置中打开“更改适配器选项”,找到新建的网卡手动设置IP地址和网关,保存后退出,同时记住新创的网卡名字:Realtek USB FE Family Controller打开虚拟机网卡设置(我是用的是VMware)选中刚刚修IP的网卡,将网卡IP设置成192.168.1.1,相当于将电脑当做路由器,将虚拟机和开发板和=标题...

2020-11-18 09:17:47 262

原创 ubuntu16.04上网问题

# win10家庭版中unbuntu16.04连不上网的问题解决连不上网的原因:1.网卡选择问题2.ip地址问题3.权限问题4.换个网试试网卡的选择右键进入“”“网络和Internet设置”找到更改适配器选项 其中的VMnet1和VMnet8是虚拟机创建的不用管,电脑连接的无线网“patience3“”右键查看属性找到网卡的名字,打开虚拟机设置找到网卡桥接模式下找到需要的网卡勾选确定就可以了选好后启动虚拟机在设置中找到network进入后选择右下角的options选择DHCP模式

2020-11-17 10:46:56 449

原创 ubuntu分辨率设置和窗口设置

2020116 ubuntu分辨率设置和窗口设置1.分辨率设置打开虚拟机2.系统设置: Resolution 是分辨率设置,窗口大小是在窗口设置下面,图片中窗口大小是1.38,如果窗口太大找不到 Apply 这个按钮,可以尝试使用 alt+F7 来拖动窗口设置...

2020-11-06 18:39:32 757

FTP传输工具.zip

PC和虚拟机之间文件传输,主机写好的代码发到虚拟机编译,再采用本软件建立FTP连接,将bin文件传回主机,然后采用jtag口烧写到开发板,支持win32和64位,内带链接说明,解压后直接默认安装即可使用

2020-11-19

空空如也

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

TA关注的人

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