IT
山深✨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
debain系统下iscsi有关配置和使用
debian系统下iscsi有关配置和使用1.apt-get install open-iscsi //安装成功后才能获取initiatorname2.apt-get install multipath-tools //安装multipath3.vi /etc/multipath.conf //配置多路径文件root@node225:~# cat /etc/mul原创 2021-07-27 20:57:51 · 1419 阅读 · 0 评论 -
postman用法
一.介绍用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。二.使用(1)概览如图所示,左边是接口历史请求记录,还有接口集,根据不同的项目来自己定义保存,方便查看测试记录,原创 2021-07-24 11:22:31 · 6522 阅读 · 2 评论 -
奥巴马编程
链接:https://www.nowcoder.com/questionTerminal/8af708723b0f45f9a80bc80d78d3566e来源:牛客网美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算 机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧...原创 2019-11-22 21:09:59 · 1020 阅读 · 0 评论 -
生成格雷码
在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。测试样例:1返回:[“0”,“1”]分析:2的格雷码为 00 01 10 113的格雷码实质是给2的前面添加0或者添加1构成的,比如:000 001 010 011100...原创 2019-11-22 21:03:41 · 215 阅读 · 0 评论 -
有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。 给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于
测试样例:2,2返回:2乍一看没有什么思路,但是仔细想想,每次走都是一样的,要么向右或者向下,所以想到了递归,向右或者向下其实就是行或者列,解决起来就很简单。import java.util.*; public class Robot { public int countWays(int x, int y) { // write code here ...原创 2019-11-19 16:56:57 · 567 阅读 · 0 评论 -
Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] 因此,Fibonacci数列就形如:0, 1,
输入描述:输入为一个正整数N(1 ≤ N ≤ 1,000,000)输出描述:输出一个最小的步数变为Fibonacci数"示例1输入15输出2根据示例来进行讲解,判断几步可以成为斐波那契数,首先得先创建一个菲波那切数列,然后根据当前数判断是+1快速还是-1快速。如图,三个变量来创建一个斐波那契数列,如图,当走到如图所示位置是,c=21,比15要大,这时候就确定15的大概位置...原创 2019-11-19 16:51:52 · 1895 阅读 · 0 评论 -
输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2
输入描述:输入为一行,n(1 ≤ n ≤ 1000)输出描述:输出一个整数,即题目所求示例1输入10输出2分析:任意挑选几个数字进行分解质因数,例如:6 = 2315 = 3564 = 222222 = 2^6100 = 2^2 * 5^2576 = 2^6 * 3^2那么我们在计算n的阶乘时,实际上就是把所有小于等于n的正整数分解成质因数,然后再将其乘到一起,那么...原创 2019-11-18 09:42:34 · 2427 阅读 · 1 评论 -
StringBuffer 和 StringBuilder
1**.区别**:String和StringBuffer最大的区别在于:String的内容无法修改,**而StringBuffer的内容可以修改。**频繁修改字符串的情况考虑使用StingBuffer。2.互相转化StringBuffer对象和String对象之间的互转的代码如下:String s = “789”;StringBuffer sb1 = new StringBuffer(“4...原创 2019-11-16 14:16:16 · 154 阅读 · 0 评论 -
n个数里出现次数大于等于n/2的数
链接:https://www.nowcoder.com/questionTerminal/eac8c671a0c345b38aa0c07aba40097b来源:牛客网输入n个整数,输出出现次数大于等于数组长度一半的数。输入描述:每个测试输入包含 n个空格分割的n个整数,n不超过100,其中有一个整数出现次数大于等于n/2。输出描述:输出出现次数大于等于n/2的数。示例1输入3 9...原创 2019-11-16 13:58:42 · 278 阅读 · 0 评论 -
String类使用方法
1.字符和字符串的转化2.字节和字符串3.字符串比较4.字符串查找原创 2019-11-16 13:53:53 · 145 阅读 · 0 评论 -
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
输入描述:每个测试输入包含2个字符串输出描述:输出删除后的字符串示例1输入They are students.aeiou输出Thy r stdnts.这道题主要就是考察对String类方法的熟练使用程度,import java.util.*;public class Main{ public static void main(String[] args){ ...原创 2019-11-16 13:43:27 · 514 阅读 · 0 评论 -
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不
import java.util.*;public class Main{public static void main(String args[]) {Scanner in = new Scanner(System.in);while(in.hasNextInt()){int n = in.nextInt();System.out.println(count(n)); } }p...原创 2019-11-16 13:38:40 · 924 阅读 · 0 评论 -
读入一个字符串str,输出字符串str中的连续最长的数字串
输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。这里需要设置两个变量,一个是max,用来记录连续数字的个数,一个是end用来记录当前数字串最后一个数字的位置,设置一个循环,一旦发现数字,count++,之后比较max和count的大小, 如果max比count小,及时更新max和end的值,最后输出的数字位置应该从...原创 2019-11-16 13:33:17 · 487 阅读 · 0 评论 -
有一组数,对于其中任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对。请设计一个高效的算法,计算给定数组中的逆序对个数。
给定一个int数组A和它的大小n,请返回A中的逆序对个数。保证n小于等于5000。测试样例:[1,2,3,4,5,6,7,0],8返回:7这道题做起来很简单,设置两个循环,一个循环一次遍历数组中的数并且设置一个标记位,一个循环从当前数开始,依次和之后的数进行比较,发现逆序数字,标记位加一。import java.util.*; public class AntiOrder { ...原创 2019-11-16 13:26:05 · 504 阅读 · 0 评论 -
有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->
输入描述:每组数据为一行一个整数n(小于等于1000),为数组成员数,如果大于1000,则对a[999]进行计算。输出描述:一行输出最后一个被删掉的数的原始下标位置。这道题使用ArrayList能够很轻松的解决,每隔两个数删除,就是删除顺序表中i=i+2的数,又由于循环所以要%顺序表的长度。 然后利用顺序表的特性,达到目的import java.util.*;public class ...原创 2019-11-16 13:19:20 · 4385 阅读 · 5 评论 -
保证java运行线程安全机制
如何保证线程安全:1.如果可以设计出不需要共享的数据,天生安全2.如果非要进行数据的共享,尽可能的保证数据只读性——不可变对象3.利用各种机制保证以上的三点:原子性,可见性,重排序。主要方法有两种:sychronized方法:执行synchronized修饰的普通方法时,首先需要lock引用指向的对象中的锁1.如果可以缩,就正常执行代码2.否则,需要等其他线程把锁unlock方法...原创 2019-11-16 13:11:45 · 180 阅读 · 0 评论 -
多线程
程序的启动过程(如何从程序变为进程)双击程序进行启动OS:1.找到文件,检查文件是否合法2.创建一个PCB对象-描述PCB pcb=nnew PCB();3.为进程分配一个唯一的id4.把程序文件按照指定格式加载到内存中5.把PCB对象和之前加载的内容关联。pcb.pc=pc;pcb.dataZone=dataZone;6.填充基本的记账信息。pcb.startAt=Syst...原创 2019-11-03 18:05:35 · 155 阅读 · 0 评论 -
Comparable和Comparator以及equals和HashCode方法的覆写
Comparable和Comparator的使用当两个元素进行比较时,属于自然顺序比较,不需要第三方介入比较时,使用Comparable比较,当需要第三方进行比较时,使用Comparator进行比较。使用Comparable时需要覆写comparaTo方法,而使用Comparator接口时需要覆写compara方法。举一个例子,比如说以下代码:import java.util.Ar...原创 2019-10-27 14:25:32 · 394 阅读 · 0 评论 -
Map和Set
1.作用Map和Set的作用是在大量数据元素中找到某个特定的元素。有两种模型:Set模型是判断关键字在不在组合中,只有KeyMap模型是Key-Value模型,即根据Key元素找到相对应的Value值。2.Map和Set的使用Map的使用Map使用示例:import java.util.HashMap;import java.util.Map;public class ...原创 2019-10-27 13:46:59 · 160 阅读 · 0 评论 -
哈希表的实现
哈希表容易造成冲突,为了避免冲突:1.尽可能的让出来的下标符合均匀分布。2.负载因子的调节负载因子=哈希表中的数据个数/数组的长度负载因子越少,冲突率越低把数组长度变大事先规定好一个阙值,来控制size一般情况下来讲,哈希表主要涉及两种办法1.线性探测(主要是考试出题)求成功的平均查找长度和失败的平均查找长度代码实现开散列public class Hash { ...原创 2019-10-14 23:30:25 · 369 阅读 · 0 评论 -
排序(1)
排序是数据结构中的一个大板块,现在将排序进行一个系统的举例。插入排序插入排序是从整个数组的第二个数开始,划分区间,第二个数及之后是无序区间,排一次序无序区间减少一次,然后每次用无序区间的第一个数和之前的有序区间进行比较,如果小于有序区间的最后一个数,把有序区间这个数往后移一位,继续比较,如果还小,继续后移。一次插入完成之后,把key放到空位置。先来看代码: public static v...原创 2019-09-27 19:28:34 · 201 阅读 · 0 评论 -
排序(2)
快速排序从待排序区间选择一个数,作为基准值(pivot);Partition: 遍历整个待排序区间,将比基准值小的(可以包含相等的)放到基准值的左边,将比基准值大的(可以包含相等的)放到基准值的右边;采用分治思想,对左右两个小区间按照同样的方式处理,直到小区间的长度 == 1,代表已经有序,或者小区间的长度 == 0,代表没有数据。private static void quickSo...原创 2019-10-04 11:04:21 · 163 阅读 · 0 评论 -
给图书排序,分别按照 图书编号, 书名,价格,销量,评价排序
import java.util.ArrayList;import java.util.Comparator;import java.util.List;class authorComparator implements Comparator<Book> { @Override public int compare(Book o1, Book o2) { ...原创 2019-10-04 16:51:59 · 4203 阅读 · 0 评论 -
类和对象(java)
访问限定符1.限定符2.访问权限(1.修饰顶级类(Top-Level)2.修饰成员级(Member-level))3.四种访问限定符这里第一个和最后一个可以修饰顶级类,这四个都可以修饰成员级包 (import java.util.Arrays;)定义包:1.新建目录,目录名称就是包名称(全小写,单词之间用_分割)2.使用包Import 包名称.类名称静态方法 静...原创 2019-07-22 16:40:02 · 184 阅读 · 0 评论 -
输出一个整数的各位数字(使用循环)
#include<stdio.h>void Exchange(int a[4],int len){ int left=0; int right=len-1; int temp=0;while(left<=right) { temp=a[left]; a[left] =a[right]; a[right]=temp; left++...原创 2019-05-24 21:07:51 · 5046 阅读 · 0 评论 -
堆
1.堆的实质堆其实是二叉树按照层序遍历放在一个数组中的表示方法。如果是堆,它有以下性质:堆逻辑上是一棵完全二叉树堆物理上是保存在数组中满足任意结点的值都大于其子树中结点的值,叫做大堆,或者大根堆,或者最大堆反之,则是小堆,或者小根堆,或者最小堆。2.求双亲结点和左右子树的公式已知双亲(parent)的下标,则:左孩子(left)下标 = 2 * parent + 1;右孩子...原创 2019-09-25 23:13:53 · 198 阅读 · 0 评论 -
二叉树的非递归遍历
二叉树的非递归遍历二叉树的递归遍历对于我们程序猿来说简单易懂,代码量较少,但是相对来讲比较浪费空间。所以用非递归法来实现一下。前序遍历前序遍历使用一个栈来解决,从根节点开始,到左子树,先让根节点入栈,之后左子树,然后是右子树。先来看代码实现: public void preorder(Node root) { Stack<Node> stack = new ...原创 2019-09-24 18:10:13 · 413 阅读 · 0 评论 -
操作符
今天又是沙雕女生的一天,最近水卡长着翅膀飞了,牙膏跟着私奔了,就连水壶也看不惯我了,不知怎么的就碎了。水逆体质什么时候才能被历史重写,算了,还是来学习吧。操作符1.算数操作符算数操作符就是用来运算的操作符。这里注意的是/和%运算被除数和被模数不可为0。%操作符的两个操作数都必须为整数。2.移位操作符左移操作符相当于乘二。(<<)右移操作符分为逻辑移位和算数移位。...原创 2019-05-22 21:58:56 · 161 阅读 · 0 评论 -
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
#include<stdio.h>int DigitSum(int n){ if(n>9) { return DigitSum(n/10)+(n%10); } else return n;}int main(){ int n; int sum=0; scanf("%d",&n); sum=DigitSum(n); printf(...原创 2019-05-16 19:07:52 · 574 阅读 · 0 评论 -
.编写一个程序,可以一直接收键盘字符, 如果是小写字符就输出对应的大写字符, 如果接收的是大写字符,就输出对应的小写字符, 如果是数字不输出。
#include<stdio.h>int main(){ int m=0; while((m=getchar())!=EOF)//EOF是end of file,值为-1; { if(m>='a'&&m<='z') { putchar(m-32); } else if(m>='A'&&m<='Z')...原创 2019-05-16 19:03:46 · 175 阅读 · 0 评论 -
.求出0〜999之间的所有“水仙花数”并输出。 “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
#include<stdio.h>#include<math.h>int main(){ int i=0; for(i=100;i<9999;i++) { **int count=0;** int temp=i; **int sum=0;**//这里要注意sum和count初始的地方,放在循环之外就是错误的,每当进行一次循环,都...原创 2019-05-16 19:01:55 · 603 阅读 · 0 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字, 例如:2+22+222+2222+22222
#include<stdio.h>int main(){ int n,m; int i=0; int sum=0; scanf("%d%d",&n,&m); for(i=0;i<m;i++) { n=n*10+2; sum=sum+n; } printf("%d",sum); return 0;}原创 2019-05-16 18:59:11 · 360 阅读 · 0 评论 -
扫雷代码优化(第一次踩雷不退出并且当前坐标的周围坐标没有雷时展开)
分析第一次循环不退出就是把第一次单独拿出来,之后循环次数再减一而展开就是使用之前的Sum()函数将周围坐标雷的个数计算出来然后展示。这个部分我们再定义一个函数ShowMoreMine()来实现。接下来继续看代码test.h#ifndef _TEST_#define _TEST_#include<stdio.h>#include<windows.h>#inc...原创 2019-05-19 14:43:37 · 577 阅读 · 0 评论 -
开启程序猿道路
开始吧原创 2019-04-20 11:15:26 · 378 阅读 · 0 评论 -
分支语句
1.分支语句ifswitch语法结构if(表达式)语句;else语句;if(表达式)语句一;else if(表达式二)语句二;else语句三;//多分支2.代码展示#include<stdio.h>int main() { int score=0; scanf("%d",&score); ...原创 2019-04-23 23:06:07 · 150 阅读 · 0 评论 -
输出两个数的最大公约数
#include <stdio.h>int main(){int a,b;printf("enter two numbers:");scanf("%d,%d",&a,&b);while(a!=b){ if(a>b) a=a-b; else b=b-a;}printf("%d",a);return 0;}原创 2019-04-21 14:56:18 · 792 阅读 · 1 评论 -
不使用临时变量,交换两个数字
#include <stdio.h>int main(){ int a=5,b=6; printf("before :%d,%d",a,b); a=a*b; b=a/b; a=a/b; printf("after:%d,%d",a,b); return 0;}原创 2019-04-21 14:52:04 · 391 阅读 · 0 评论 -
多文件实现扫雷
test.h#ifndef _TEST_#define _TEST_#include<stdio.h>#include<windows.h>#include<time.h>#include<string.h>#define ROW 12#define COL 12#define MINENUM 20#pragma warning...原创 2019-05-18 21:43:12 · 215 阅读 · 0 评论 -
三子棋 用c语言实现
#include<stdio.h>#include<time.h>#define ROW 3#define COL 3void InitBoard(char board[][COL],int row,int col){ int i=0; for(i=0;i<row;i++){ int j=0; for(j=0;j<col;j++) { ...原创 2019-05-18 21:44:01 · 165 阅读 · 0 评论 -
二叉树的层序遍历以及带有层次数量的层序遍历以及根据判断一个数是否是完全二叉树
层序遍历的方法如下:比如有一棵树:层次遍历序列为: 5 3 1 4 7使用代码实现时,要使用一个队列,进队列之后,出队列时判断当前结点是否有左子树和右子树,如果有,先把左子树入队列,之后把右子树入队列,以此类推。这是把根节点入队列并出队列之后把结点5的左子树和右子树入队列之后的情况。这是把结点3出队列,并且把它的左子树4和右子树7入队列之后的情况如果结点1 之后还有结点,...原创 2019-09-21 17:34:52 · 1177 阅读 · 0 评论
分享