- 博客(72)
- 收藏
- 关注
原创 Python基础知识(二)
图解python的顺序结构,条件结构和循环结构。顺序语句条件语句条件语句书写格式一及对比:if条件语句条件语句书写格式二及对比:if...else...语句条件语句书写格式三及对比:if...elif...else语句空语句pass条件语句的总结:循环语句while循环for循环
2023-01-03 14:45:17 722 1
原创 Python基础知识(一)
Python基础知识输入输出函数输入函数:input()输出函数:print()算术运算符关系运算符逻辑运算符变量1.命名规则2.变量类型(基本类型)3.动态类型特性
2023-01-01 22:25:33 948
原创 java基础编程题day27--每日两题
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。给定三条边,请你判断一下能不能组成一个三角形。解决步骤: 1.引入BigInteger类 import java.math.BigInteger; 2.用nextBigInteger()方法去接收数值 3.用add()方法进行相加 4.用compareTo()方法进行比较大小,返回值为int类型
2022-06-02 12:40:18 342
原创 java基础编程题day30--每日两题
NowCoder生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的消息传递。假设你是军团中的一名军官,需要把发送来的消息破译出来、并提供给你的将军。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换,其他字符不 变,并且消息原文的所有字母都是大写的。一个正整数可以分解成一个或多个数组的积。例如36=2*2*3*3,即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律,现在给出一系列正整数,他希望你开发一个程序输出每个正整数的因子个数。
2022-06-01 17:43:50 300
原创 java基础编程题day22--每日两题
小易的升级之路_牛客题霸_牛客网小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3...bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,找出字符串中第一个只出现一次的字符_牛客题霸_牛客网找出字符串中第一个只出现一次的字符,输出第一个只出现一次的字符,如果不存在输出-1
2022-05-20 12:27:32 291
原创 java基础编程题day12--每日两题
二进制插入_牛客题霸_牛客网目录二进制插入_牛客题霸_牛客网查找组成一个偶数最接近的两个素数_牛客题霸_牛客网二进制插入_牛客题霸_牛客网给定两个32位整数n和m,同时给定i和j,将m的二进制数位插入到n的二进制的第j到第i位,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1,其中二进制的位数从0开始由低到高。测试样例:1024,19,2,6返回:1100理解:拿测试用例画张图来给大家理解一下(主要看红色框框的图)思路:其实就是将m左移j位,
2022-05-17 16:59:04 373
原创 java基础编程题day11--每日两题
最近公共祖先__牛客网将一棵无穷大满二叉树的结点按根结点一层一层地从左往右编号,根结点编号为1。现给定a,b为两个结点。设计一个算法,返回a、b最近的公共祖先的编号。注意其祖先也可能是结点本身。举例:思路:1.满二叉树中父节点和子节点关系:parent = child / 2;2.但a!=时,每次比较a和b,让其中较大的数 / 2,最终即可找到共公祖先import java.util.*;public class LCA { public int getLCA(in.
2022-05-07 20:16:55 688
原创 mysql数据库之事务
目录什么是事务?事务的四大特性(ACID)事务中可能会产生的问题事务的隔离级别(用于解决事务中出现的问题)mysql的默认隔离级别:可重复读mysql事务相关语句
2022-05-06 23:35:34 757
原创 mysql数据库约束和默认
目录约束:1.null/not null约束2.unique约束(唯一约束)3.primary key约束(主键约束)4.foreign key约束(外键约束)5.check约束默认:default约束:1.null/not null约束null约束:字段可以为null、空not null约束:字段不能为null、空在数据库中字段默认为null,如果设置为not null,则在插入时必须写入数据否则报错。-- 测试数据CREATE TABLE
2022-05-05 17:19:40 2324
原创 反编译+源码理解自动拆箱和自动装箱
目录自动装箱:自动将基本类型转化为包装类自动拆箱:自动将Integer类型转化为int类型笔试题首先得了解,什么是拆箱和装箱。拆箱:包装类转变为基本类型的过程(Integer ---> int)装箱:基本类型转变为包装类的过程(int ---> Integer)接下来在谈一谈自动装箱和自动拆箱(有点类似于强制类型转换中的自动类型转换一样)自动装箱:自动将基本类型转化为包装类反编译看一下底层是怎么写的:反编译后能够发现,底层是调用了Inte.
2022-05-01 15:10:38 375
原创 java基础编程题day10--每日两题
密码强度等级_牛客题霸_牛客网密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分井字棋_牛客题霸_牛客网给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及获胜(及井字棋规则),返回当前玩家是否胜出。
2022-04-29 19:34:37 1027
原创 java基础编程题day09--每日两题
目录另类加法__牛客网走方格的方案数__牛客网给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。思路:利用异或和与运算来代替加法运算。异或:相同为0,不同为1,因此0+0和0+1都能解决,但是1+1为0,此时进位1就会被丢掉,因此需要与运算。与:相同为1,它能够解决1+1问题,也就是异或时1+1会为0,而此时1和1相与并进位。import java.util.*;public class UnusualAdd { p...
2022-04-28 10:45:57 265
原创 java基础编程题day08--每日两题
两种排序方法_牛客题霸_考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:"car" < "carriage" < "cats" < "doggies < "koala"求最小公倍数_牛客题霸_牛客网正整数A和正整数B的最小公倍数是指能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。
2022-04-27 12:14:12 202
原创 java基础编程题day07--每日两题
合法括号序列判断__牛客网给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。利用栈进行括号匹配Fibonacci数列__牛客网因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, ...,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。
2022-04-25 17:49:32 147
原创 java基础题day06--每日两题
不要二__牛客网二货小易有一个W*H的网格盒子,网格的行编号为0~H-1,网格的列编号为0~W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。把字符串转换成整数__牛客网将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为 0 或者字符串不是一个合法的数值则返回 0
2022-04-25 17:18:42 280
原创 java基础编程题day05--每日两题
输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。输入字符串1和字符串2,将字符串2插入到字符串1的每一个位置,并每次判断是否是回文,输出是回文的总次数。
2022-04-24 20:52:16 465
原创 java基础编程题day04--每日两题
进制转换_滴滴笔试题_牛客网给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数计算糖果__牛客网A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。
2022-04-23 19:17:23 659
原创 java基础编程题day03--每日两题
数组中出现次数超过一半的数字_牛客题霸_牛客网题意:给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。思路一:斩蛇,蛇的长度大于管子的一半,那么从管子中间砍,必定能砍到蛇。实现:排序之后斩掉中间public int majorityElement(int[] nums) { Arrays.sort(nums);
2022-04-22 22:27:51 1567
原创 java基础编程题day02--每日两题
目录排序子序列_牛客笔试题_牛客网倒置字符串_牛客题霸_牛客网排序子序列_牛客笔试题_牛客网牛牛定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的。牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数组分为几段排序子序列.简单来说:给你一个数组,然后进行分段,分段的方法:每一段要么非递减要么非递增并且要求分段序列最少。比如:1 2 3 2 2 1,(1 2 3)这段非递减...
2022-04-22 15:27:48 623
原创 java基础编程题day01--每日两题
目录组队竞赛_牛客笔试题_牛客网删除公共字符_牛客题霸_牛客网牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。思路:贪心,先排序,然后每次都在选手中找次大值,举例说明:代码实现:import java.util.Arrays;import java.util.Scanner;public class Main{ pu...
2022-04-20 18:11:16 699
原创 对java访问权限修饰符——>protected深度理解
之前学习Object类中的clone方法,都是实现Cloneable接口,重写clone方法。但最近在看Object类源码时,就特别好奇。Clone方法既然是protected修饰,而protected的含义是:1.同包中访问 2.子类中可以访问。那么我写的子类为什么就不能调用Clone方法呢???最后我发现:是对于protected修饰符没有理解到位。总结下来也是两句:1.同包中可以访问 2.子类中对应的类去引用可以访问。拿这两句话来试一试:创建两个类Dog和Cat类,此时都无继承父类的.
2022-04-15 20:59:08 671
原创 java实现并图解二叉搜索树的添加、查找以及删除方法(保姆级教程)
目录二叉搜索树的概念实现二叉搜索树的添加方法实现二叉搜索树的查找方法实现二叉搜索树的删除方法附带java代码二叉搜索树的概念二叉搜索树(二叉排序树):1.首先是一棵二叉树2.其次左子树上所有节点的值都小于根节点的值,右子树上所有节点的值都大于根节点的值。图解:实现二叉搜索树的添加方法先讲解思路,在进行图解,最后实现代码实现二叉搜索树的查找方法先讲解思路,在进行图解,最后实现代码实现二叉搜索树的删除方法先讲解思路,在进行图解,最后实现代码.
2022-04-09 18:21:53 2024
原创 重写Object类中的equals方法
Object类中的equals()方法只能判断两个引用是否指向同一片空间,如果我想判断自定义类中两对象的变量值相同,此时我就需要重写equals()方法。此时有人肯定在想那直接用==判断值相等不就完了,我当时也这么想的.....但是,如果是两个不同类型的对象,类型都不一样,就算里面的成员变量值相同那也是false,因为类型不同。所以我们需要重写equals()方法。因此,我们先首先创建一个自定义类Animals类接着我们自己写一个myEqulas方法来看看idea自动重写Objec.
2022-04-08 10:43:37 1257 4
原创 Cloneable接口以及深拷贝和浅拷贝
Cloneable接口1.Cloneable接口中什么方法都没有,那为什么要继承该接口?解答:在Cloneable接口的源码中,里面什么方法都没有,但是implements该接口的类则证明该类是可以被克隆的。Cloneable接口源码1.2.Cloneable接口什么方法都没有,那我该重写谁的clone()方法来实现对象拷贝?解答:所有类都默认继承Object类,所以需要重写Object类中的clone()方法就能实现对象的拷贝了。1.3.实现对象拷贝的方法步骤我以自定义..
2022-04-07 22:51:04 881
原创 Comparable和Comparator接口实现自定义对象排序
目录Comparable接口Comparator接口小疑问:Comparable接口我们现在有一个自定义Person类数组,想让数组中的每一个Person类对象按照年龄从小到大输出。那最简单来说:我们可以写一个冒泡排序,来比较每个对象的年龄从而进行排序。但现在我们可以直接实现Comparable接口中的compareTo()方法即可达到排序//1.COmparable接口class Person implements Comparable<Person>{
2022-04-05 11:37:46 819
原创 HashMap和HashSet相关oj题
OJ题地址:136. 只出现一次的数字138. 复制带随机指针的链表771. 宝石与石头牛客:旧键盘打字692. 前K个高频单词目录只出现一次的数字复制带随机指针的链表宝石与石头旧键盘打字前k个高频单词只出现一次的数字题意:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。思路:1.利用HashSet,遍历数组,如果HashSet中未包含该元素则进行添加,若包含该元素就进行移除2.利用异或运算(^),相同为0,
2022-04-04 09:35:20 686
原创 java用队列实现栈、用栈实现对队列
目录用队列实现栈用栈实现对队列LeetCode题225. 用队列实现栈232. 用栈实现队列用队列实现栈思路:1.创建两个队列,2.哪个队列不为空就将要push的元素放到该队列中,若都为空就默认放入qu1队列中,3.pop时,将不为空的队列元素放入为空的队列中,并弹出最后一个元素import java.util.LinkedList;import java.util.Queue;class MyStack { //1.创建两个队列 public Q
2022-03-21 20:34:25 301
原创 java模拟实现队列(Queue)
目录单链表实现队列(Queue)数组实现循环队列(Queue)622. 设计循环队列LeetCode题单链表实现队列(Queue)/** * 单链表实现队列 */class Node { int val; Node next; public Node(int val){ this.val = val; }}public class MyQueue { public Node front;//对头 public
2022-03-20 15:15:05 1296
原创 Stack经典编程题
逆波兰表达式求值(后缀表达式)、括号匹配、出栈入栈次序匹配目录逆波兰表达式求值20. 有效的括号JZ31栈的压入、弹出序列逆波兰表达式求值示例1:输入:tokens = ["2","1","+","3","*"]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/evaluate-reverse-polish-notation..
2022-03-18 22:53:35 390
原创 源码角度谈论ArrayList的扩容机制
1.若以ArrayList的空构造方法去构造对象,此时ArrayList的默认容量是0,只有在使用add()方法时才会开辟空间,并且空间大小为10。2.在扩容时,ArrayList的长度会以1.5倍进行扩容3.若以ArrayList的带参构造方法去构造对象,此时ArrayList的容量即输入参数的大小, 若输入的参数x > 0,则ArrayList的长度为x 若输入的参数x == 0,则ArrayList的长度为0,并在使用add方法时才会开辟空间,大小为10...
2022-03-18 10:16:56 1102
原创 java模拟实现栈(Stack)
简单模拟实现栈(Stack)结构,出栈(pop),入栈(push),查看栈顶元素(peek)....import java.util.Arrays;public class MyStack { int[] elementData; int usedSize; //构造方法 public MyStack() { this.elementData = new int[5]; this.usedSize = 0;//既代表有效长度,又代
2022-03-17 09:59:39 475
原创 java模拟实现ArrayList
// 新增元素,默认在数组最后新增 public void add(int data) { } // 打印顺序表 public void myToString() { } // 在 pos 位置新增元素 public void add(int pos, int data) { } // 判定是否包含某个元素 public boolean contains(int toFind) { return true; }
2022-03-15 18:47:34 594
原创 java模拟实现LinkedList<二>
大体框架:一个Node类,一个LinkedList类(单向、不循环、不头节点的链表)class Node{ private int val;//数据域 private Node next;//指向下一个节点 public Node(int val){//构造方法 this.val = val; }}public class LinkedList {//单向、不循环、无头结点 public Node head;//链表
2022-03-14 10:01:34 358
原创 java模拟实现LinkedList<一>
大体框架:一个Node类,一个LinkedList类(单向、不循环、带头节点)class Node{ private int val;//数据域 private Node next;//指向下一个节点 public Node(int val){//构造方法 this.val = val; }}public class LinkedList {//单向、不循环、带头结点 public Node head;//链表的头结点 publi
2022-03-13 16:04:55 1282
原创 String、StringBuilder、StringBuffer的前世今生
为什么要搞这么多关于字符串的啊,就不能一个String类型就完了吗?还真不行,因为他们都有各自的长处。基础知识:首先得知道字符串是String类型,并且字符串是在常量池中存储的(常量池是在堆上的),当要创建字符串时,首先会在常量池中查找,如果有当前的字符串,则不会开辟常量池中的字符串对象,而是会直接引用该对象,这样的话会节省空间,提高效率。String类从源码中可知:String str = "hello";1.str并不是直接引用字符串,而是str首先引用了value字符数组和hash
2022-03-04 23:29:23 209
原创 java异常机制的感受和总结
什么是异常?为什么要解决异常?异常的分类?如何抛出异常?如何捕获异常?如何自定义异常?等等一系列问题,我都将以我自己的主观理解,给大家一一解释(但同样由于个人水平有限,可能会出现一些错误,也欢迎指正,大家一起共同进步!)目录什么是异常(Exception)?异常的分类处理异常的方法自定义异常什么是异常(Exception)?拿生活中的例子来说,别人说你今天有点异常,也就是说你今天和之前的行为有点不太一样,这就是生活中的异常。放在java中,出现异常就是本来代码能正常执行能得到
2022-03-04 15:00:12 583
原创 String类中常用方法
1.构造字符串2.字符串比较 equals(Object anObject)3.字符串转换4.字符串替换 replace(char oldChar, char newChar)5.字符串截取 substring(int beginIndex)6.字符串拆分 split(String regex)7.字符串查找 charAt(int index) indexOf(int ch)8.其他方法 length() isEmpty() trim() contains(CharSequence s)
2022-03-02 22:36:23 3663
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人