自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【牛客】乒乓球筐

链接:https://www.nowcoder.com/questionTerminal/bb4f1a23dbb84fd7b77be1fbe9eaaf32来源:牛客网nowcoder有两盒(A、B)乒乓球,有红双喜的、有亚力亚的……现在他需要判别A盒是否包含了B盒中所有的种类,并且每种球的数量不少于B盒中的数量,该怎么办呢?输入描述:输入有多组数据。每组数据包含两个字符串A、B,代表A盒与B盒中的乒乓球,每个乒乓球用一个大写字母表示,即相同类型的乒乓球为相同的大写字母。字符串长度不大于10000

2021-06-10 21:42:08 322

原创 操作系统第一章概述

操作系统第一章概述文章目录操作系统第一章概述1.1操作系统的概念1.1.1操作系统的定义1.1.2操作系统的层次模型1.2现代操作系统的特征、目的、作用和功能1.2.1操作系统的特征1.2.2操作系统的目标1.2.3操作系统的作用1.2.4操作系统的功能1.1操作系统的概念1.1.1操作系统的定义操作系统是计算机系统中的一个系统软件,它能合理地组织计算机工作流程,控制程序的执行,并向用户提供多种服务功能,使得用户能够灵活、方便、有效的使用计算机,并使整个计算机系统能高效地运行。1.1.2操作系统的

2021-05-30 17:01:27 138

原创 【牛客】剪花布条

链接:https://www.nowcoder.com/questionTerminal/1046cd038f7a4b04b2b77b415973de1c来源:牛客网一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?输入描述:输入包含多组数据。每组数据包含两个字符串s,t,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和

2021-05-26 23:27:59 147

原创 【牛客】猴子分桃

链接:https://www.nowcoder.com/questionTerminal/480d2b484e1f43af8ea8434770811b4a来源:牛客网老猴子辛苦了一辈子,给那群小猴子们留下了一笔巨大的财富——一大堆桃子。老猴子决定把这些桃子分给小猴子。第一个猴子来了,它把桃子分成五堆,五堆一样多,但还多出一个。它把剩下的一个留给老猴子,自己拿走其中的一堆。第二个猴子来了,它把桃子分成五堆,五堆一样多,但又多出一个。它把多出的一个留给老猴子,自己拿走其中的一堆。后来的小猴子都如此照办

2021-05-23 21:53:43 231

原创 【牛客】数根

链接:https://www.nowcoder.com/questionTerminal/e2422543519249f292d8435394ab82fe来源:牛客网数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。再比如39,把3 和9 加起来得到12,由于12 不是一位数,

2021-05-19 21:27:57 452

原创 【牛客】星际密码

链接:https://www.nowcoder.com/questionTerminal/34f17d5f2a8240bea661a23ec095a062来源:牛客网星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不足4位则用0填充,如果大于4位的则只输出最后4位。|1 1|^n => |Xn …||1 0| |… …|例如n=2时,|1 1|^2

2021-05-17 10:28:48 530

原创 【牛客】扑克牌大小

链接:https://www.nowcoder.com/questionTerminal/d290db02bacc4c40965ac31d16b1c3eb来源:牛客网扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用"-“连接,每手牌的每张牌以空格分隔,”-"两边没有空

2021-05-16 23:44:27 394 1

原创 【牛客】 年终奖

链接:https://www.nowcoder.com/questionTerminal/72a99e28381a407991f2c96d8cb238ab来源:牛客网小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵

2021-05-16 20:07:44 151

原创 【牛客】 洗牌

链接:https://www.nowcoder.com/questionTerminal/5a0a2c7e431e4fbbbb1ff32ac6e8dfa0来源:牛客网洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左

2021-05-13 09:20:36 98

原创 【牛客】字符串通配符

链接:https://www.nowcoder.com/questionTerminal/43072d50a6eb44d2a6c816a283b02036来源:牛客网问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)?:匹配1个字符输入:通配符表达式;一组字符串。输出:返回匹配的结果,正确输出true,错误输出f

2021-05-08 17:06:05 354

原创 【牛客】统计每个月兔子的总数

链接:统计每个月兔子的总数来源:牛客网有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?本题有多组数据。输入描述:输入int型表示month输出描述:输出兔子总数int型示例1输入9输出34解题思路:设置三个变量分别表示1个月大的兔子、2个月大的兔子和大于等于三个月大的兔子,每过一个月对三个变量进行一次更新。package TE0508;import java.util.*;publ

2021-05-08 16:37:35 113

原创 【牛客】幸运的袋子

链接:https://www.nowcoder.com/questionTerminal/a5190a7c3ec045ce9273beebdfe029ee来源:牛客网一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋子里移除一些球(可以移除0个,但是别移

2021-05-06 20:50:05 130

原创 【牛客】参数解析

链接:参数解析来源:牛客网在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:\参数4: 字符串d:\请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files” "d:“时,参数仍然是4个,第3个参数应该是字符串C:\program files,而

2021-04-29 00:00:14 145

原创 【牛客】跳石板

链接:https://www.nowcoder.com/questionTerminal/4284c8f466814870bae7799a07d49ec8来源:牛客网小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3…这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。例如:

2021-04-26 17:33:04 160

原创 【牛客】Fibonacc数列

题目描述:Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。输入描述:输入为一个正整数N(1 ≤

2021-04-22 16:56:48 227

原创 【牛客网】不要二

题目描述:二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述:每组数组包含网格长宽W,H,用空格分割.(1 ≤ W、H ≤ 1000)输出描述:输出一个最多可以放的蛋糕数示例1输入

2021-04-18 23:35:59 92

原创 【牛客】字符串中找出连续最长的数字串

题目描述:读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例1输入abcd12345ed125ss123456789输出123456789思路如下:通过start标志字符串中最长数字串的前一位,通过count计算当前数字串的长度,若当前数字串的长度count>maxcount时更新maxcount,并重新使用start进行标记,最后打印时直

2021-04-15 16:50:20 122

原创 【牛客网/剑指offer】数组中出现次数超过一半的数

这两道题基本一样只是在细节上略微不同,剑指offer的题目明确告诉存在一个数字其出现次数超出了数组的一般长度而牛客的题目则要考虑不存在这种数字的情况。总的来说做法是一样的。剑指 Offer 39. 数组中出现次数超过一半的数字题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2public int majorityElement(int[

2021-04-13 21:02:33 55

原创 【牛客网】 组队竞赛

题目描述:牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。 例如: 一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3 一个队伍三个队员的水平值分别3,2,3.那么队伍的水平值是3 .一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2 为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。如样例所示: 如果牛牛把6个队员划分到两个队

2021-04-12 17:40:04 259

原创 二叉树层序遍历实现

二叉树的层序遍历下图是一个简单的二叉树例图实现思路:1.创建一个队列用于二叉树的层序遍历。2.将二叉树根节点插入队列中。3.通过while循环遍历二叉树,直至遍历完整个二叉树后则结束循环。4.每次循环开始时先进行出队操作,若当前出队元素为null则证明已经完成层序遍历结束循环循环,若不为null则打印该节点的值,并判断该节点是否存在左右子树,若存在则依次插入队列中。图解上述二叉树的层序遍历过程依次进行图上操作直至最终队列为空时则层序遍历结束。实现代码如下:class TreeNod

2021-04-10 22:48:28 540

原创 二叉树的遍历(先序、中序、后序)

文章目录先序遍历中序遍历后序遍历二叉树:先序遍历首先遍历根节点,然后在遍历左子树,最后在遍历右子树。上述二叉树的先序遍历顺序如下:1->2->4->5->3->6->7递归实现:public static void preOrder(Node root){ if (root==null){ return; } //先访问根节点 System.out.print(root.val); //递归遍历左子树.

2021-03-28 12:02:18 687

原创 Java index0f方法

实现思路:首先分别设置两个变量t和i标记字符串num和字符串target的当前位置,然后遍历num字符串,若当前的num字符串的字符等于target字符串中的首字符则继续遍历target字符串,若不相等时则将i置为0意味着重新遍历target字符串。若成功将target字符串检验完毕,则返回t-i(这个是num字符串中target字符串第一个字符位置),如果最终判断不含有target字符串则进行打印信息并返回0.public class TEST { public static void main

2021-03-25 23:33:33 401

原创 【力扣】用队列实现栈

题目描述:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通队列的全部四种操作(push、top、pop 和 empty)。思路:因为栈是后进先出的而队列是先进先出的,因此我们可以通过将一个队列的元素进行出队操作直至该队列只剩一个元素,则该元素就可以当做是栈顶元素。class MyStack { private Queue<Integer> A = new LinkedList<>(); private Queue<Integer> B

2021-03-17 17:10:52 90

原创 栈和队列

文章目录1.栈1.1栈的概念1.2栈的实现2.队列2.1队列的概念2.2队列的实现2.3循环队列1.栈1.1栈的概念栈是一种特殊的 线性表,栈只允许在固定的一端进行插入、删除操作。插入、删除的一端被称为栈顶,另一端被称为栈底。栈中的元素遵从后进先出的规则。压栈:是指将元素插入(压入)栈中的的操作。压栈是在栈顶压入。出栈:是指将元素删除的操作。出栈是在栈顶进行删除操作。压栈和出栈的图示如下:1.2栈的实现第一种:通过顺序表实现,使用尾插和尾删实现。代码如下:public class My

2021-03-09 17:16:28 70

原创 【牛客】 链表分割

题目描述:现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。public static ListNode partition(ListNode pHead, int x){ //创建一个傀儡节点作为小于x值节点的头节点 ListNode smallhead=new ListNode(-1); //smallTail用于连接小于x值的节点

2021-03-08 16:39:49 104

原创 Java 双向链表

最近刚学完了链表,这是自己写的一个双向链表,如有不足还请指出谢谢!package T0306;import java.util.Scanner;class Node{ int val; Node prev=null; Node next=null; public Node(int val) { this.val = val; }}//实现双向链表public class MyLinkedList { //记录头结点 p

2021-03-06 20:15:46 68

原创 剑指offer 删除链表中的重复结点

题目描述:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5 处理后为 1->2->5解题思路:首先设置一个傀儡节、结点作为新链表的头结点,然后遍历链表,如果遇到重复的结点则继续遍历,若结点不重复则将该结点插入到傀儡节点之后,最后返回傀儡结点的下一个结点即为删除重复结点后链表的头指针。 public ListNode deleteDuplication(Lis

2021-03-05 22:52:25 58

原创 剑指offer 06 从尾到头打印链表

题目描述:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。思路:首先统计链表中的节点个数,创建一个大小等于节点个数的数组,再次遍历链表并将数据倒着存入数组。public int[] reversePrint(ListNode head) { int count=0; ListNode cur=head; while(cur!=null){ count++; cur=cur.next;

2021-03-02 15:39:08 48

原创 Java练习 图书管理系统

/**************************************************/package T0126;import T0126.operation.*;import java.util.Scanner;public class Admin extends User{ public Admin(String name){ this.name=name; this.operations=new IOperation[]{

2021-03-02 09:45:36 155

原创 Java 异常

文章目录防御式编程异常的基本用法Java 异常体系自定义异常防御式编程两种主要方式:LBYL:Look Before You Leap. 在操作之前就做充分的检查。EAFP:It’s Easier to Ask Forgiveness than Permission."事后获取原谅比事前获取许可更容易."也就是先操作,遇到问题再处理。在Java中异常的核心思想是EAFP。LBYL风格的代码 ://假设是一个登陆游戏boolean ret=false;if(!ret){ //处理登陆

2021-02-08 13:31:49 132 1

原创 Java SE学习汇总

以下是我将SE知识点总结的思维导图如有不足还请指出!

2021-01-29 17:59:11 86

原创 Java 面向对象学习笔记

文章目录继承组合多态向上转型重写与动态绑定继承继承主要解决的问题是:共性的抽取如一下代码:public class Animal { public String name; public String sax; public Animal(String name,String sax){ this.name=name; this.sax=sax; } public void run(){ System

2021-01-28 17:37:17 59

原创 Java String类学习笔记

文章目录创建字符串字符串常量池字符串不可变StringBuffer和StringBuilder创建字符串创建字符串有三种方法:以下代码中便是三种创建字符串的方法。public class STring { public static void main(String[] args) { String str="hello";//第一种方法 String str1=new String("hello everyone");//第二种方法 char

2021-01-26 22:03:57 58

原创 Java实现字符串中的contains方法与indexof方法

contains方法思路:设定两个标记点分别标记被查找的字符串当前位置与目标字符串当前的位置。遍历整个被查找字符串,若两个标记点的字符相等则同时后移,当目标字符串移到最后一位并且 通过检验时则返回true。若在遍历过程中两个标记点的字符不相等时则将标记目标字符的标记点 置为0,标记被查找的字符串标记点继续后移。若遍历完整个被查找字符仍未找到时则返回false。代码如下:package T0119;import java.util.Arrays;public class TE01_19

2021-01-23 22:46:28 1103 2

原创 Java中类的简单介绍

文章目录类的简单概念类的定义格式类的实例化this 指针字段和方法的四种访问权限类的简单概念类主要是用来对一个实体(对象)进行描述的,主要包括了实体具有的属性、实体具有的功能(可以做些什么)。比如:手机手机类主要包含的属性:生产厂商、品牌、生产日期、颜色、尺寸等等。手机类主要包含的功能:打电话、电源开关、放音乐等等。类的定义格式class ClassName{field;//成员属性method;//成员方法}上述中class是定义类的关键字,Classname是定义的类名字,fiel

2021-01-23 20:16:38 329

原创 Java实现split字符串分割方法

实现方法 split, 能够指定分割符将字符串拆分成字符串数组思路如下:统计字符串中的目标分割符的个数。创建字符串数组并将其初始化为 “”,不初始化的话字符串数组中就会是null。依次截取字符串中分隔符符之前的字符,并通过字符串拼接完成合并。import java.util.Arrays;public class TE0120 { public static void main(String[] args) { String a="198.163.01";

2021-01-20 17:16:35 4291 3

原创 Java static关键字

文章目录1.修饰属性2.修饰方法3.修饰代码块4.修饰类(内部类)1.修饰属性Java中的静态属性和类相关,和具体的实例无关。也就是说同一个类的不同实例共用同一个静态属性。public class T20210114 { public static void main(String[] args){ Persion persion1=new Persion(); persion1.count++; System.out.println(persi

2021-01-16 21:33:59 83

原创 Java 字符串中的大小写字母转换

Java 实现字符串中字母大小写转换函数实现思路:将字符串中的每个字符取出,判断该字符是不是大写字母,如果是的话则该字符+32(ASCII码)并进行强制转换,转换为char,然后在通过字符串的合并操作进行合并,这样在遍历结束整个目标字符串的每个字符后便会得到结果。将小写字母转换为大写字母方法类似只需将判断条件以及ASCII操作进行更改即可。public class T0114 { public static void main(String[] args){ String a="

2021-01-14 22:09:55 6659

原创 Java 二分查找

二分查找:在一个有序数组中查找目标元素。以升序数组为例,先取中间元素,比较目标元素和中间元素的大小,若小了则在左边找,大了则在右边找。import java.util.Scanner;public class T0110 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int[] a=new int[100]; int t=scann

2021-01-13 08:44:25 104

原创 Java求阶乘和

题目:求1!+2!+3!+4!+…+n!的和import java.util.Scanner;public class TEST0107 { public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); System.out.println(factorial(n)); } publ

2021-01-07 17:33:27 521

空空如也

空空如也

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

TA关注的人

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