自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【无标题】

黑马全栈学习路线

2022-04-18 20:16:41 112

原创 郑轻ppt模板

郑州轻工业大学模板 http://ic.zzuli.edu.cn/zzqgydxlogomb/list.htm

2021-12-11 16:32:59 317

原创 Bootstrap

Bootstrap来自Twitter(推特),是目前最受欢迎的前端框架。Bootstrap是基于HTML、CSS和 JAVASCRIPT 的,它简洁灵活,使得Web开发更加快捷。 中文官网: http://www.bootess.com/ 官网: http://getbootstrap.com/ 推荐使用; http://bootstrap.css88.com/ ...

2021-12-04 12:14:16 103

原创 【无标题】jQuery

jQuery插件网址: http://www.htmleaf.com/

2021-12-03 21:24:16 683

原创 2021-07-27

回文平方 回文数是指数字从前往后读和从后往前读都相同的数字。 例如数字 12321 就是典型的回文数字。 现在给定你一个整数 B,请你判断 1∼300 之间的所有整数中,有哪些整数的平方转化为 B 进制后,其 B 进制表示是回文数字。 输入格式 一个整数 B。 输出格式 每行包含两个在 B 进制下表示的数字。 第一个表示满足平方值转化为 B 进制后是回文数字那个数,第二个数表示第一个数的平方。 所有满足条件的数字按从小到大顺序依次输出。 数据范围 2≤B≤20, 对于大于 9 的数字,用 A 表示 10,用

2021-07-27 23:48:41 56

原创 2021-07-27

阶乘 N 的阶乘(记作 N!)是指从 1 到 N(包括 1 和 N)的所有整数的乘积。 阶乘运算的结果往往都非常的大。 现在,给定数字 N,请你求出 N! 的最右边的非零数字是多少。 例如 5!=1×2×3×4×5=120,所以 5! 的最右边的非零数字是 2。 输入格式 共一行,包含一个整数 N。 输出格式 输出一个整数,表示 N! 的最右边的非零数字。 数据范围 1≤N≤1000 输入样例: 7 输出样例: 4 #include<bits/stdc++.h> using namespace

2021-07-27 23:15:31 66

原创 2021-07-27

翻硬币 小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:oo*oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢? 我们约定:把翻动相邻的两个硬币叫做一步操作。 输入格式 两行等长的字符串,分别表示初始状态和要达到的目标状态。 输出格式 一个整数,表示最小操作步数 数据范

2021-07-27 22:37:37 61

原创 2021-07-27

校门外的树 某校大门外长度为 L 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。 我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 L 的位置;数轴上的每个整数点,即 0,1,2,……,L,都种有一棵树。 由于马路上有一些区域要用来建地铁。 这些区域用它们在数轴上的起始点和终止点表示。 已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。 现在要把这些区域中的树(包括区域端点处的两棵树)移走。 你的任务是计算将这些树都移走后,马路上还有多少棵树。 输入格式 输入

2021-07-27 21:35:32 71

原创 2021-07-27

分巧克力 儿童节那天有 K 位小朋友到小明家做客。 小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。 切出的巧克力需要满足: 形状是正方形,边长是整数 大小相同 例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。 当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么? 输入格式 第一行包含两个整数 N 和

2021-07-27 19:27:57 58

原创 2021-07-27

剪绳子 有 N 根绳子,第 i 根绳子长度为 Li,现在需要 M 根等长的绳子,你可以对 N 根绳子进行任意裁剪(不能拼接),请你帮忙计算出这 M 根绳子最长的长度是多少。 输入格式 第一行包含 2 个正整数 N、M,表示原始绳子的数量和需求绳子的数量。 第二行包含 N 个整数,其中第 i 个整数 Li 表示第 i 根绳子的长度。 输出格式 输出一个数字,表示裁剪后最长的长度,保留两位小数。 数据范围 1≤N,M≤100000, 0<Li<109 输入样例: 3 4 3 5 4 输出样例: 2.

2021-07-27 17:34:03 96

原创 2021-07-27

唯一最小数 给定一个长度为 n 的整数数组 a1,a2,…,an。 请你找到数组中只出现过一次的数当中最小的那个数。 输出找到的数的索引编号。 a1 的索引编号为 1,a2 的索引编号为 2,…,an 的索引编号为 n。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 每组数据第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 每组数据输出一行结果,即满足条件的数的索引编号,如果不存在满足条件的数,则输出 −1。 数据范围 1≤T≤2×104, 1≤n≤2×105, 1

2021-07-27 15:42:44 84

原创 2021-07-26

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

2021-07-26 21:31:01 107

原创 2021-07-26

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

2021-07-26 20:51:12 57

原创 2021-07-26

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

2021-07-26 18:35:44 45

原创 2021-06-04

递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数 n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。 数据范围 1≤n≤15 输入样例: 3 输出样例: 3 2 2 3 1 1 3 1 2 1 2 3 #include <bis/stdc++.h> using namespace std

2021-06-04 00:09:34 46

原创 2021-05-25

双指针删除有序数组重复项 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。 你可以想象内部操作如下: // nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝 int len = removeD

2021-05-25 21:27:38 54

原创 2021-05-25

双指针法解决山脉数组 给定一个整数数组 arr,如果它是有效的山脉数组就返回 true,否则返回 false。 让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组: arr.length >= 3 在 0 < i < arr.length - 1 条件下,存在 i 使得: arr[0] < arr[1] < … arr[i-1] < arr[i] arr[i] > arr[i+1] > … > arr[arr.length - 1] 示例 1

2021-05-25 21:02:48 64

原创 2021-04-10

7-1 八皇后问题 在国际象棋中,皇后是最厉害的棋子,可以横走、直走,还可以斜走。棋手马克斯·贝瑟尔 1848 年提出著名的八皇后问题:即在 8 × 8 的棋盘上摆放八个皇后,使其不能互相攻击 —— 即任意两个皇后都不能处于同一行、同一列或同一条斜线上。例如: 题图.jpg 现在我们把棋盘扩展到 n×n 的棋盘上摆放 n 个皇后,请问该怎么摆? 请编写程序,输入正整数 n,输出全部摆法(棋盘格子空白处显示句点“.”,皇后处显示字母“Q”,每两个字符之间空一格)。 输入格式 正整数 n(n>0) 输出格

2021-04-10 15:26:53 65

原创 2021-04-09

请写出一个二分排序,要求输入10个整数,输出排序结果。二分排序的工作原理是不断的依次将元素插入前面已排好序的序列中。在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left>right,然后再把第i个元素前1位与目标位置之间的所有元素后移,再把第i个元素放在目标位置上。 package com.company; import java.util.Scanner; public class insertSort { p.

2021-04-09 23:11:28 79

原创 2021-04-07

算法 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2 ​31 ​​ 的需要判断的正整数。 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。 输入样例: 2 11 111 输出样例: Yes No #include<bits/stdc++.h> using namespace std; int a[10]; bool f(int x){ if(x<=3){ return x>1; } int n=sqrt(x); int i

2021-04-07 17:53:05 131

原创 2021-04-07

全排列 从 m (0<m≤26) 个大写字母中任意选出 n (0<n≤m) 个字母组合到一起,一共有多少种组合? 请编写程序,输入 m 和 n,输出从 A 开始的连续 m 个字母中任取 n 个字母的所有组合。 要求:每行输出一个组合(组合内的字母按升序排序),按字典序输出。 输入样例 4 3 输出样例 ABC ABD ACD BCD #include<bits/stdc++.h> using namespace std; const int maxn=27; int n,m,P[ma

2021-04-07 15:54:25 657

原创 2021-04-03

二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f®=0。 二分法的步骤为: 检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则 如果f(a)f(b)<0,则计算中点的值f((a+b)/2); 如果f((a+b)/2)正好为0,则(a+b)/2就是要求的根;否则 如果f((a+b)/2)与f(a)同号,则说明根在区间[(a+b)/2,b],令a=(a+b)/2,重复循环; 如果f((

2021-04-03 13:26:36 48

原创 2021-04-01

递归-将前n个数全排列 #include<bits/stdc++.h> using namespace std; const int maxn=11; //P为当前排列,hashTable记录整数x是否在P中 int n,P[maxn], hashTable[maxn]; //当前处理的第index号位 void generateP(int index){ if(index==n+1){ for(int i=1;i<=n;i++){ printf("%d",P[i]); } printf(

2021-04-01 22:28:35 47

原创 2021-03-29

二分法 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入格式: 输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。 输出格式: 输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入样例: 4 1 2 3 4 1 输出样例: 0 2 #include<bits/stdc++.h> using namespace std

2021-03-29 18:13:10 84

原创 2021-03-27

输入整数 N,输出一个 N 阶的二维数组。 数组的形式参照样例。 输入格式 输入包含多行,每行包含一个整数 N。 当输入行为 N=0 时,表示输入结束,且该行无需作任何处理。 输出格式 对于每个输入整数 N,输出一个满足要求的 N 阶二维数组。 每个数组占 N 行,每行包含 N 个用空格隔开的整数。 每个数组输出完毕后,输出一个空行。 数据范围 0≤N≤100 输入样例: 1 2 3 4 5 0 输出样例: 1 1 2 2 1 1 2 3 2 1 2 3 2 1 1 2 3 4 2 1 2 3 3 2 1

2021-03-27 00:19:01 713

原创 2021-03-26

十三号星期五真的很不常见吗? 每个月的十三号是星期五的频率是否比一周中的其他几天低? 请编写一个程序,计算 N 年内每个月的 13 号是星期日,星期一,星期二,星期三,星期四,星期五和星期六的频率。 测试的时间段将会开始于 1900 年 1 月 1 日,结束于 1900+N−1 年 12 月 31日。 一些有助于你解题的额外信息: 1900 年 1 月 1 日是星期一。 在一年中,4 月、6 月、9 月、11 月每个月 30 天,2 月平年 28 天,闰年 29 天,其他月份每个月31天。 公历年份是 4

2021-03-26 16:14:11 73

原创 2021-03-25

Date类 类 Date 表示特定的瞬间,精确到毫秒。 构造方法 public Date() 获取当前的时间 public Date(long date) 如果参数为零则时间为1970年1月1号 成员方法 public long getTime() public void setTime(long time) SimpleDateFormat类 DateFormat类的概述(SimpleDateFormat类的父类) DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期

2021-03-25 22:07:57 51

原创 2021-03-25

并查集 include<bits/stdc++.h> using namespace std; int a[1000001]; int b[1000001]; int read() { char c = getchar(); int f = 1,x = 0; while(!isdigit©){if(c==’-’)f=-1;c=getchar();} while(isdigit©){x=x10+c-‘0’;c=getchar();} return xf; } int find(int x){ r

2021-03-25 17:16:13 44

原创 2021-03-25

算法 或许你并不知道,你的某个朋友是你的亲戚。 他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子。 如果能得到完整的家谱,判断两个人是否是亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代,使得家谱十分庞大,那么检验亲戚关系实非人力所能及。 在这种情况下,最好的帮手就是计算机。 为了将问题简化,你将得到一些亲戚关系的信息,如Marry和Tom是亲戚,Tom和Ben是亲戚,等等。 从这些信息中,你可以推出Marry和Ben是亲戚。 请写一个程序,对于我们的关于亲戚关系的提问,以最快的速度给出答案。

2021-03-25 00:13:08 71

原创 2021-03-21

推荐一个图标网站:阿里巴巴适量图标图

2021-03-21 12:32:49 62

原创 2021-03-19

算法 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 思考题: 请同时实现迭代版本和递归版本。 样例 输入:1->2->3->4->5->NULL /** Definition for singly-linked list. struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; / class Solution {

2021-03-19 23:12:38 36

原创 2021-03-19

算法 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输入格式 第一行包含整数 n,表示数字三角形的层数。 接下来 n 行,每行包含若干整数,其中第 i 行表示数字三角形第 i 层包含的整数。 输出格式 输出一个整数,表示最大的路径数字和。 数据范围 1≤n≤500, −10000

2021-03-19 21:51:42 56

原创 2021-03-18

虚拟类 1、子类在创建实例后,类初始化方法会调用父类的初始化方法(除了java.lang.Object类,因为java.lang.Object类没有父类),而这种调用会逐级追述,直到java.lang.Object的初始化方法。 这个地方我说的是初始化方法,而不是构造方法,因为构造方法是相对于java源程序而言,而编译后的class文件是初始化方法即" "方法(红色部分为方法名),初始化方法是由java源程序的三个部分组成的,一个部分是成员字段后的直接的初始化语句,例如private int i=0;pri

2021-03-18 21:41:58 90 2

原创 2021-03-18

二分法 #include #include using namespace std; int a[100005]; int n,m; bool std1(double x){ int t=0; for(int i=0;i<n;i++){ t+=a[i]/x; } if(t>=m) return true; else return false; } int main(){ cin>>n>>m; for(int i=0;i<n;i++){ cin>>a[i

2021-03-18 17:26:55 40

原创 2021-03-17

回文数算法2 #include #include #include #include using namespace std; int main(){ char s1[10000],s2[10000]; int n,m,b; cin>>n; for(int i=1;i<=300;i++){ _itoa(i*i,s1,n); _itoa(i,s2,n); m=strlen(s1); b=0; for(int j=0;j<m/2;j++) if(s1[j]!=s1[m-1-j]) b=-

2021-03-17 22:05:14 36

原创 2021-03-17

回文数算法1 #include #include #include using namespace std; int a; char get(int x) { if (x <= 9) return ‘0’+x; return ‘A’+x-10; } string g(int n) { string s; while (n) { s += get(n%a); n /= a; } reverse(s.begin(),s.end()); return s; } bool f(string s) { f

2021-03-17 22:03:45 39

原创 2021-03-16

JAVA类的继承、重载、和多态 继承 简单的说,继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(下面会讲到,这种方式叫重写)的方式,产生一个新的类型。继承是面向对象的三个基本特征–封装、继承、多态的其中之一,我们在使用JAVA时编写的每一个类都是在继承,因为在JAVA语言中,java.lang.Object类是所有类最根本的基类(或者叫父类、超类),如果我们新定义的一个类没有明确地指定继承自哪个基类,那么JAVA就会默认为它是继承自Object类的。 我们可以把JAVA中的类分为以下三种

2021-03-16 20:50:34 44

原创 2021-03-16

前缀和 运用前缀和的优势是时间复杂度低,此题由于数据较弱,暴力也能过。 下面代码如果看的不是很明白,可以在纸上代入数据跟着代码走一遍,就很容易理解这个思想了。 #include using namespace std; int dp[11000]; int main() { int x,y; cin >> x >> y; int ans = 0; for (int i=0,a,b;i<y;i++) { // 求前缀 cin >> a >> b; dp[

2021-03-16 20:44:43 41

原创 2021-03-12

矩阵算法 #include<bits/stdc++.h> using namespace std; int n,m,ans; char arr[1001][1001]; int yong[1001][1001]; void df(int x,int y){ if(x-1>=1&&x-1<=n&&arr[x-1][y]!=arr[x][y]&&yong[x-1][y]==0)//shang { ans++; yong[x-1][y]=1;

2021-03-12 23:05:54 45

原创 2021-03-11

memset()函数 memset(a,0,sizeof(a));//调用函数初始化 a[]={0};//数组的初始化 用a[] = {0}; 不需要再 memset(a,0,sizeof(a)); 在vc6的编译器来上 a[] = {0}; 本身就相当于: a[]; memset(a,0,sizeof(a)); 你可以自己反汇编代码看一下。 两者基本无区别。 初始化是一个顺序点,编译器必须保证 顺序点执行。 所以 a[]={0}; 这样了 就不需要再调用 memset函数了。 ...

2021-03-11 23:27:07 42

8皇后算法源码(本人原创)

初学递归的小白

2021-04-10

空空如也

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

TA关注的人

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