自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (3)
  • 收藏
  • 关注

原创 2021-08-30

Spring的发展:xml配置–注解配置–Java配置(本书的使用)Spring:它是一个框架,能够解决JavaEE开发的所有问题,轻量级的企业级开发一站式解决方案。Bean:每一个被Spring管理的Java对象都称之为BeanIoC:Spring提供的一个容器用来初始化对象,解决对象之间的依赖管理和对象的使用jar包:在Java的Spring生态中。Spring是模块化的,每一个模块,都至少对应一个jar包。maven:在日常创建项目的时候都是将第三方jar包复制到项目下面的类路径当中,但是因

2021-08-30 19:14:26 105

原创 剑指Offer_编程题 替换空格 JAVA

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路1:使用StringBufimport java.util.*;public class Solution { public String replaceSpace(StringBuffer str) { for(int i=0;i<str.length();i++){

2020-08-27 16:41:48 138

原创 华为机试 求解立方根java

题目描述•计算一个数字的立方根,不使用库函数详细描述:•接口说明原型:publicstaticdoublegetCubeRoot(doubleinput)输入:double待求解参数返回值:double输入参数的立方根,保留一位小数解题思路:二分查找方法求出适合的值,(max-min)>0.001,这个精度需要定的尽量大一些import java.util.Scanner;public class Main { public stati...

2020-08-21 23:54:18 351

原创 201301 JAVA 题目2-3级(动态规划)

题目描述请编写一个函数(允许增加子函数),计算nxm的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。题目分析:发现想到达第一横行 和 第一竖列的每一个点的走法只有一种 所以我们在结点上都标上1 表示走到这里只有一种走法然后我们再看(1,1)这一点 想走到这里我们可以从(0,1)走过去 也可以从(1,0)这个点走过去 所以有(1+1)两种走法往后看我们不难看出 想走到某一点的走..

2020-08-21 21:56:18 178

原创 字符串排序java--华为机试

题目描述编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type 输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA 输出: aABb规则 3 :非英文字母的其它字符保持原来的位置。如,输入: By?e 输出: Be?y解题思路:1.先判断是否为英文字母,若是,使用list存储,然后将list排序。2.遍历字符串将所有的字符存到stringBuffer中im.

2020-08-21 17:26:20 608

原创 字符串合并处理java华为机试

题目描述按照指定规则对输入的字符串进行处理。详细描述:将输入的两个字符串合并。对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。对排序后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符。如字符为‘4’,为0100b,则翻转后为0010b,也就是2。转换后的字符为‘2’;如字符为‘7’,为0111b,则翻转.

2020-08-19 10:51:00 377

原创 坐标移动java华为机试

题目描述开发一个坐标计算工具,A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。思路:利用正则表达式排除无效输入,利用switch case对应字符。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scan.

2020-08-18 17:52:48 276

原创 字串的连接最长路径查找java牛客网

题目描述给定n个字符串,请对n个字符串按照字典序排列。方法1:使用ArrayList,可重复的集合,再使用Collections将集合排序即可。import java.util.*;//字串的连接最长路径查找public class lujing { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt()

2020-08-18 15:35:54 128 1

原创 提取不重复的整数java牛客网

题目描述输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。思路:利用将整型转化为字符串,放入ArrayList中,判断有没有重复的,没有就添加进去,再遍历集合即可。import java.util.ArrayList;import java.util.Iterator;import java.util.Scanner; public class Main { public static void main(String[] args) {

2020-08-18 10:47:29 225

原创 合并表记录java(牛客网)

题目描述数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。思路:遇到这种成对的数最好还是用map,题目有需要对key进行排序,因此TreeMap最合适,TreeMap判断如果遇到重复的key则让相同位置的value相加,最好遍历map即可。import java.util.Iterator;import java.util.Scanner;import java.util.TreeMap;publ

2020-08-17 23:52:12 211

原创 牛客网质数因子---java

题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为22335)最后一个数后面也要有空格解题思路:设定i=2,i一直递增,当N%i==0的时候,N/=i,否则i++,直到i>N,这样找到的所有N%i==0的i就是N的所有的质数因子。然后用集合输出即可。import java.util.ArrayList;import java.util.Scanner;public class Main { public s...

2020-08-17 18:49:27 293

原创 进制转换JAVA

题目描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入)思路1:直接调用方法parseInt(String s,int radix),“int radix”进制数。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (s.

2020-08-14 23:11:44 189

原创 牛客网字符串分隔java

题目描述•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。解题思路:1.先考虑长度小于等于8的情况,计算需要的填充数,并打印输出填充。2.循环打印输出所有字符,当长度为8的倍数时(j+1)%8 == 0,输出换行。计算最后一个需要填充的数量,并打印输出填充。import java.util.Scanner;public class Main { public static void main(String

2020-08-14 21:58:37 179

原创 牛客网明明的随机数java

题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。解题思路1:这一题主要是排序+去重。但是因为可能要输入多组用例,因此需要使用while(scanner.hasNext)持续

2020-08-14 16:20:38 273

原创 牛客网计算字符个数--java

题目描述写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。import java.util.Scanner;public class Main{ public static void main(String[] arg) { Scanner sc = new Scanner(System.in); String str = sc.nextLine().toLowerCase();

2020-08-08 22:04:35 290

原创 牛客网反转链表java

题目描述输入一个链表,反转链表后,输出新链表的表头。思想:先建立一个新链表node,一个辅助指针temp,一个记录当前位置的指针cur。遍历head链表,先使用辅助指针temp记录下一个位置,再将cur的下一个节点指向新链表的最前端,然后将cur连接到新链表上,cur后移,返回node.next。public class Solution { public ListNode ReverseList(ListNode head) { ListNode node=

2020-08-08 18:09:19 197

原创 剑指Offer第十六题:合并两个排序的链表java

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。方法1思路:将两个链表结点挨个进行比较,插入到一个新表中。public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { ListNode newnode=new ListNode(0); ListNode cur=newnode; while(list

2020-08-08 16:30:35 81

原创 牛客网——解救小易java

题目描述有一片1000*1000的草地,小易初始站在(1,1)(最左上角的位置)。小易在每一秒会横向或者纵向移动到相邻的草地上吃草(小易不会走出边界)。大反派超超想去捕捉可爱的小易,他手里有n个陷阱。第i个陷阱被安置在横坐标为xi,纵坐标为yi的位置上,小易一旦走入一个陷阱,将会被超超捕捉。你为了去解救小易,需要知道小易最少多少秒可能会走入一个陷阱,从而提前解救小易。import java.util.Scanner;import java.util.Arrays;public class ..

2020-08-06 15:19:44 146

原创 牛客网JZ49:把字符串转换成整数java

题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0解题思路:首先判空,返回0.其次,判断符号,使用标识来标记然后:判断输入的字符串与'0'和'9'的关系,在'0'和'9'外的返回0,在'0'和'9'内的按位计算和。最后按照标识区分,有符号的和无符号的。import java.lang.Math;public class Solution { public int StrToInt(String str)

2020-08-01 17:41:33 239

原创 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1] java解法

解题思想:题目要求B的i个元素等于A中除了i个元素所以元素乘积因此思路很清晰,双重循环:第一层循环表示将要相乘A的元素;第二层循环表示B中的元素要乘上A的元素(判断条件:i==j则直接跳过)。import java.util.ArrayList;public class Solution { public int[] multiply(int[] A) { int B[]=new int[A.length]; int sum=1; for(i

2020-07-31 23:36:38 858

原创 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。(java)

方法一:利用++来代替+public class Solution { public int Add(int num1,int num2) { if(num2==0){ return num1; } if(num2>0){ for(int i=0;i<num2;i++){ num1++; } return num1;

2020-07-31 22:16:36 283

原创 剑指 Offer 09. 用两个栈实现队列---java写法

问题描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )这一题给的输入需要看懂,不然测试样例的错误不好找。例如:输入: ["CQueue","appendTail","deleteHead","deleteHead"] 这里是要执行的方法,从左到右执行。[[],[3],[],[]]对应上面的方法,是上面方法的参数。C..

2020-07-30 16:13:17 170

原创 剑指 Offer 49. 丑数java

思路:我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。解题思路,没说的,暴力穷举。class Solution { public int nthUglyNumber(int n) { int num=0; int curr=1; int temp=1; while(true){ temp=curr; while(te

2020-07-25 23:22:42 168

原创 剑指 Offer 50. 第一个只出现一次的字符java

问题:在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。解题思路:遍历字符串,使用indexOf()判断当首次出现的位置是当前位置,且后面没有再出现这个字符,则返回字符。class Solution { public char firstUniqChar(String s) { for (int i = 0; i < s.length(); i++) { //首次出现的位置是当前位置,且后面没有再出现这

2020-07-25 21:05:16 133

原创 剑指 Offer 15. 二进制中1的个数java

问题:请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。解题思路:方法1,把整型转换为字符串,然后遍历字符串,得到1的个数。但是做的时候遇到整型转字符串的问题,先使用ValueOf()不行,后来发现题目要求是输入二进制,因此使用toBinaryString()方法,把二进制整数转成字符串。public class Solution { // you need to treat .

2020-07-25 10:31:33 85

原创 剑指 Offer 06. 从尾到头打印链表java

问题:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。解题思路:先遍历一次链表,将节点的值依次存入到栈中,然后创建数组,将栈中的数据依次出栈。class Solution { public int[] reversePrint(ListNode head) { Stack<Integer> stack=new Stack<>(); while(head!=null){ st

2020-07-24 22:32:00 95

原创 剑指 Offer 05. 替换空格java

问题:请实现一个函数,把字符串s中的每个空格替换成"%20"。class Solution { public String replaceSpace(String s) { for(int i=0;i<s.length();i++){ if(s.charAt(i)==' '){ return s.replace(" ", "%20") ; } } retu..

2020-07-24 11:57:06 92 1

原创 剑指 Offer 04. 二维数组中的查找java写法

解题思路:暴力穷举class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { //int len=matrix.length-1; if(matrix==null||matrix.length==0){ return false; } for(int i=0;i<matrix.length;i++){

2020-07-24 11:33:09 70

原创 剑指 Offer 03. 数组中重复的数字java

问题:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。解题思路:1.暴力穷举法class Solution { public int findRepeatNumber(int[] nums) { for(int i=0;i<nums.length-1;i++){ for(int j=i

2020-07-24 10:50:53 122

原创 13. 罗马数字转整数java写法

这个题目很容易想到hashmap,首先用hashmap保存键值,分析题目,大致会出现三种情况:1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:Ⅲ = 3;2、小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数, 如:Ⅷ = 8;Ⅻ = 12;3、小的数字在大的数字的左边,所表示的数等于大数减小数得到的数,如:Ⅳ= 4;Ⅸ= 9;class Solution { public int romanToInt(String s) { int res ..

2020-07-23 12:01:21 169

原创 5. 最长回文子串java(动态规划)

这个题目我刚做的时候用的是暴力穷举法,后来看很多人都使用了动态规划,因此我也看了动态规划的思想,重写了动态规划的代码。动态规划的思想Leecode官方说的很详细了,建议先看动态规划的思想,代码就很容易搞懂了。代码思想是:首先判断字符串长度小于2时,肯定是回文。其次初始化对角,也可以不初始化。利用循环将j从小到大遍历,i也进行循环,如果出现索引i和j对应字符相等时,判断j-1-(i+1)+1<3,即i和j之间是否只有一个值,如果是则是回文,else缩小范围再判断。如果出现索引i和j对应字符不相等..

2020-07-23 11:16:13 758 2

原创 2. 两数相加java写法

问题描述:给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。解题思路:用其中一个链表进行判断是否为空作为循环条件,因为两个链表不一定相等,所以需要判断其中一个是否为null,若为null则在遍历时将其后的值赋值为0,进行运算获取进位值和“所求的和值”,如果两个链表都到头了,且还有未处理的进位,则将进位挂在后面(即最后一个,即最高位),进行循环更新,最终...

2020-07-21 22:20:01 179

原创 9. 回文数java写法

解题的思路是:先把整数颠倒顺序,然后再判断与输入是否相等,如果相等就返回true,不相等就返回false。颠倒整数的方法是把x%10,再把x/10,循环依次取出x的个位数。class Solution { public boolean isPalindrome(int x) { int a=0; int b=x; boolean c=false; //String str =""; if(x>0){

2020-07-20 23:18:33 116

原创 7. 整数反转java写法

我的思路是:如果是正整数,利用%10和/10的方式,不断取出对应位置上的数字,并且赋值到字符串的尾部;最后,Integer.parseInt方法转化为正整数并返回。如果是负整数,先取绝对值,然后按照%10和/10的方式,不断取出对应位置上的数字,同样添加到字符串上;最后转化为正整数,添加负号并返回。但是没有考虑到溢出的情况,后来根据官方的思想,了解了溢出的现象,只能把错误处理了,报NumberFormatException异常,表示溢出;class Solution { public

2020-07-20 22:39:21 267

原创 1. 两数之和 Java解法

看到这种题第一反应是暴力穷举,尝试了下,可以解决,代码如下:classSolution{publicint[]twoSum(int[]nums,inttarget){inta[]={0,0};for(inti=0;i<nums.length;i++){for(intj=i+1;j<nums.length;j++){if(nums[i]+nums[j]==...

2020-07-18 22:54:58 185

原创 java面向对象编程思维导图

看宋红康老师的java课程,复习的时候整理了下知识点,这是面向对象编程这一节的思维导图。整体框图对象类的五个成员javaBean、设计模式、转型面向对象中涉及的几种关键字三大特性equals和toString方法包装类接口...

2020-07-09 23:07:25 1098

原创 java基本语法框架xmind

整理了java基本语法的一些资料,框架参考的是尚硅谷宋红康的课程,用xmind画出框架图,xmind原框架图如果有需要可以联系我。

2020-07-08 10:50:55 325 1

原创 想要写一个java的学习经历

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片

2020-07-07 17:01:01 224

java异常处理.xmind

java异常处理思维导图,自己根据尚硅谷的视频总结的思维导图,主要针对容易遗忘的知识点,方便自己记忆

2020-07-10

面向对象编程思维导图.xmind

看宋红康老师的java课程,复习的时候自己看视频整理了下知识点,这是面向对象编程这一节的思维导图。是按照我自己的理解来画的,可能有些不完全。

2020-07-09

Java基础知识.xmind

整理了java基本语法的一些资料,框架参考的是尚硅谷宋红康的课程,用xmind画出框架图,主要包括关键字、变量、运算符、数组等

2020-07-08

空空如也

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

TA关注的人

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