- 博客(16)
- 收藏
- 关注
原创 牛课题——【中级】单词倒排(Java)
一.题目 二.思路:利用栈的先进后出后进先出的想法进行实现 先定义一个栈,创建一个空的字符串(后面统一用中间字符串说明) public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); Stack<String> stack = new Stack<>(); String
2021-06-09 20:59:17
260
原创 骆驼命名法牛课题(Java实现)
思路: 采用截取字符串并将其字母小写转大写的方式进行实现 使用的库函数分别有substring和toUpperCase 此时思路较为简单清晰。 完整代码实现 import java.util.Scanner; public class CtoJava { //骆驼命名法 //从C/C++转到Java的程序员,一开始最不习惯的就是变量命名方式的改变。 // C语言风格使用下划线分隔多个单词, // 例如“hello_world"”;而Java则采用一种叫 // 骆驼命.
2021-06-09 20:33:19
364
原创 牛客题——组队竞赛
1.题目描述 【组队竞赛】牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现 队伍的水平值等于该队伍队员中第二高水平值。 例如: 一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3 一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3 一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2 为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。 如样例所示: 如果牛牛把6个
2021-05-05 17:38:55
312
原创 牛客题——删除公共字符(哈希表的方法)
题目描述 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.” 输入描述 每个测试输入包含2个字符串 输出描述 输出删除后的字符串 示例 输入: They are students. aeiou 输出 Thy r stdnts. 思想方法 用哈希表对问题进行求解 将第二个字符串的字符都映射到一个hashtable数组中,用来判断一个字符在这个字符
2021-05-05 14:33:11
183
原创 力扣160题之·相交链表
编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 思路: 分别计算A和B两个链表的长度len1和len2,让长的那个链表先走(len1-len2)步,此时两个链表是处于同步的状态,接下来让两个链表同时走,当找到的第一个节点则为该链表的交点 注意:两个链表的循环判断条件不是他们两节点的val值,而是他们所指的对象。例如:while(A!=null&&B!=null) if(A==B) 代码如下: 1.遍历两个链表,取得len1和len2 //思路:1.先遍历两个链表,取得l
2021-03-09 18:39:19
153
原创 java判定链表是否是回文
题目描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个Boolean值,代表其是否为回文结构。保证链表长度小于等于900。 给定的代码: public class ListNode { int val; ListNode next; public ListNode(int val) { this.val = val; } } class Solutions{ pu
2021-03-09 16:53:35
231
原创 Java中的有关继承
JAVA三大特性之——继承 这里我们主要对继承的目的概念进行讲解,用代码来进行说明。文章内容还包括public private default protected区别、单继承、创建实例时子类和父类之间的理解、this和super的使用区别、向上转型等等。 1.什么是继承(inheritance) 继承 关键词:extends 指面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称为派生类。继承显现了面向对象程序设计的层次结构,体现了由简单到
2021-01-26 15:31:33
147
原创 关于继承中代码初始化顺序及其优先级
一、初始化 一般来说:初始化分为 默认初始化:用户未定义初始化时,整型浮点型默认为0,布尔型默认为false,字符型默认为’\0000’,引用类型默认为null; 就地初始化:Y y =new Y(); 代码块中初始化; 构造方法中初始化。 二、初始化的顺序 就地执行初始化与执行代码块的初始化优先级一致; 但就地初始化和代码块初始化优先级均高于构造方法。 创建一个子类实例的时候,都会产生一个父类实例(包含了父类所有的public的属性和方法),并且先调用父类的参数和构造方法,再之后对子类方法属性进行
2021-01-22 00:17:31
265
原创 JAVA中方法的使用
JAVA中方法的使用 使用方法就好像做菜一样,先把食谱放在那里,然后按照菜谱一步一步的做,每一步就是一个方法。总体来说,Java中的方法和C语言的函数类似。我们就用一个银行输密码的例子说明吧。 大体含义: //编写代码模拟三次密码输入的场景。 // 最多能输入三次密码,密码正确,提示“登录成功”. // 密码错误,可以重新输入,最多输入三次。 // 三次均错,则提示退出程序 首先我们构建一个框架:首先得设置密码,其次输入密码,其次对密码进行判别 这是我们的总体框架: public static void
2021-01-18 16:35:06
245
原创 Java中一些简单的运算符与注意事项
/与%的区别 “/”是取两个数相除得到的整数部分; “%”是取两个数相除的余数部分 例:10/3=3;10%3=1 注:C语言中%只能针对整数,但是Java中%也适用于小数 如图所示: 前置++和后置++的区别 ++a表示表达式返回的是自增之后的结果 a++表示表达式返回的是自增之前的结果 用一句话来表示:谁在前面先进行前边的运算 也可以用伪代码对a++和++a进行理解 对于前置++: (int num){ num+=1; return num; } //两者的返回值不一样 对于后置++: (int
2020-12-07 01:37:36
310
原创 关于Java开发环境
Java的基本环境搭建 1.JDK Java 开发工具包(Java开发时使用)。包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 2.JRE Java 运行时环境(运行Java程序使用)。JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。 3.JVM Java 虚拟机(是JRE的
2020-12-05 20:55:53
783
3
原创 整数序列去重
整数序列去重 解释: 输入n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的整数,只保留该数第一次出现的位置,删除其余位置。 例如:输入包含两行,第一行包含一个正整数n(1 ≤ n ≤ 1000),表示第二行序列中数字的个数;第二行包含n个整数(范围1~5000),用空格分隔 首先 定义一个arr数组用来存放输入的数字 int arr[1000]={0}; int n=0; int i=0; for(i=1;i<=n;i++) { scanf("%d",&a
2020-11-21 23:44:49
1769
原创 C语言如何打印自幂数(水仙花数)
C语言如何打印自幂数 什么是自幂数? “自幂数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1 ^ 3+5 ^ 3+3 ^ 3,则153是一个“水仙花数”。 水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。 附:其他位数的自幂数名字 一位自幂数:独身数 两位自幂数:没有 三位自幂数:水仙花数 四位自幂数:四叶玫瑰数 五位自幂数:五角星数 六位自幂数:六合数 七位自幂数:北斗七星数 八位自幂数:八仙数 九位自幂数:九九重阳数 十位自幂数:十全十美数 干货来了!!! 打
2020-10-19 11:18:13
1405
原创 关于%以及\后面加字母数字的含义(更新中)
1.%后面的含义 %d—打印整数 %s—打印字符串 %c—打印字符 %f —打印小数 如果要得到的结果是小数的话,那么“/”两边至少有一个是整数 “/”算出来的是商 取模“%”得出来的是余数,就是商在上面,余数在下边 2.\后面的含义(转义字符)13个 \? 在书写连续多个问时使用,防止他们被解析成三字母词; \’ 用于表示字符常量; \“ 用于表示一个字符串内部的双引号; \ 用于表示一个反斜杠,防止它被解释为一个转移序列符; \a 警告字符,蜂鸣; \b 退格符; \f
2020-08-11 19:41:04
6193
原创 初识C语言
什么是C语言:计算机语言(常用于底层软件开发) 底层软件的解释:(应用层以下) 应用层—常见的软件 操作系统win/Linux C,语言写linux 驱动层 C语言写驱动 电脑—硬件 计算机语言: 人和计算机交流的一种语言 C语言/C++/JAVA/python 人的语言: 汉语日语,英语,法语,德语 C语言是高级的计算机语言,有国际标准!!! 助记符—汇编语言 对一些二进制代码进行简记 例ADD SUB ANCI美国国家标准局 ANCI C .
2020-08-07 20:13:26
181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅