JAVA学习
kangin0914
一只菜鸟,分享一下我的学习笔记
一口吃不成一个胖子,得一点一点来
打怪升级,变得优秀起来
展开
-
IDEA新建包之后无法新建Java类
用IDEA的时间还不算太长,本来想建一个枚举类的包,发现不能新建java的类了,如图所示:只有Kotlin Class/File,没办法新建Java类,我还以为是我新建错了包,多次删了重建后发现还是没办法新建,查了资料后才知道,是包名不规范,空格,下划线,关键词之类的不能在包名里面只要改掉包名符合规范后,这样基本解决了,写个博客记录一下。...原创 2021-06-28 21:26:53 · 12773 阅读 · 5 评论 -
简单实现HashMap,对理解HashMap很有帮助
为了更好的了解hashmap的底层结构,做了个别方法的简单实现首先,节点,链表对象Node.javapublic class Node<K,V> { int hash;//哈希值 K key; V value; Node<K, V> next;//下一个节点}MyHashMap.java,命名有点随意了public class MyHashMap<...原创 2020-05-01 14:56:44 · 95 阅读 · 0 评论 -
二进制中1的个数,长见识了
按位什么什么一直是我触及不到的地方,今天遇到的这个题真是长见识了15. 二进制中 1 的个数输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。我已经把补码忘却了就去查了一下正数的原码、反码、补码是一致的;负数的补码是反码加1,反码是对原码按位取反,只是最高位(符号位)不变;计算机数字运算均是基于补码的。大概就是这样,这不是重点运用下面的位运算去除 n 的位级表示中...原创 2020-04-27 22:43:17 · 144 阅读 · 0 评论 -
搜索旋转排序数组java实现
力扣 33. 搜索旋转排序数组假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5...原创 2020-04-27 20:53:36 · 333 阅读 · 0 评论 -
用深度优先搜索(Depth First Search,DFS)方法求机器人的运动范围
题目描述地上有一个 m 行和 n 列的方格。一个机器人从坐标 (0, 0) 的格子开始移动,每一次只能向左右上下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于 k 的格子。例如,当 k 为 18 时,机器人能够进入方格 (35,37),因为 3+5+3+7=18。但是,它不能进入方格 (35,38),因为 3+5+3+8=19。请问该机器人能够达到多少个格子?解题思路使用深度优...原创 2020-04-27 14:45:50 · 131 阅读 · 0 评论 -
BFS(Breadth First Search 广度优先搜索)
广度优先搜索是什么?广度优先搜索一层一层地进行遍历,每层遍历都是以上一层遍历的结果作为起点,遍历一个距离能访问到的所有节点。需要注意的是,遍历过的节点不能再次被遍历。例:第一层:0->[6,2,1,5]第二层6->[4]2->[]1->[]5->[3]第三层4->[]3->[]...原创 2020-04-24 20:29:46 · 196 阅读 · 0 评论 -
用servlet,jsp,和bootstrap实现的系统
用servlet与jsp的交互实现登陆和注册的功能,用jquary-ajax实现jsp从servlet中读取数据实现通过日期查询数据库需要的可以下载,含项目文件和数据库sql文件链接:https://pan.baidu.com/s/1AHrqXPFvCvFYdEeTE-WJFA提取码:k92k项目截图:登陆注册界面...原创 2020-04-14 11:18:50 · 626 阅读 · 0 评论 -
判断子列
题目:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 1:s...原创 2020-04-07 21:50:40 · 687 阅读 · 0 评论 -
每日一题--单词的压缩编码
Trie又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。 本人笔记,可忽略给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S 中索引的位...原创 2020-03-30 17:58:09 · 687 阅读 · 0 评论 -
每日一题--数组中的第K个最大元素
题目:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(LeetCode)...原创 2020-03-28 20:35:03 · 151 阅读 · 0 评论 -
力扣练习--合并两个有序数组
题目给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...原创 2020-03-28 13:49:43 · 165 阅读 · 0 评论 -
每日一题--验证回文字符串Ⅱ
回文字符串–即正读反读都一样的字符串称为回文字符串给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: “aba”输出: True示例 2:输入: “abca”输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。来源:力扣(LeetCode)链接:https://leet...原创 2020-03-25 20:33:01 · 255 阅读 · 0 评论 -
每日一题--反转字符串中的元音字符 难度:简单
题目编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: “hello”输出: “holle”示例 2:输入: “leetcode”输出: “leotcede”说明:元音字母不包含字母"y" 其实我不知道元音字母有哪些,查了一下“a” “e” “i” “o” "u"五个元音字母记录自己写的垃圾代码:public class StringChange ...原创 2020-03-22 23:04:55 · 163 阅读 · 0 评论 -
每日一题--平方数之和 难度:(简单)
平方数之和**给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。示例1:输入: 5输出: True解释: 1 * 1 + 2 * 2 = 5示例2:输入: 3输出: False**我的第一次写的代码:天真的以为两个正整数是不相同的,这是错误代码,思路完全错了,重新来public class PingfangNumSum { publi...原创 2020-03-21 20:25:38 · 950 阅读 · 0 评论 -
每日一学--两数之和II-输入有序数组
题目给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], ta...原创 2020-03-20 20:19:25 · 177 阅读 · 0 评论 -
Java并发学习-使用线程
使用线程有三种使用线程的方法:实现Runnable接口;实现Callable接口继承Thread类。实现Runnable和Callable接口的类只能看作是一个能在线程中运行的任务,并不是真正意义上的线程,所以 最后还是要通过Thread来调用。可以理解为任务是通过线程驱动从而执行的。实现Runnable['rʌnəbl]接口需要实现接口中的run()方法public clas...原创 2020-03-20 12:27:15 · 88 阅读 · 0 评论 -
JAVA并发学习----基础线程机制
ExecutorExecutor管理多个异步任务同时执行,而无需程序员显式地管理线程的生命周期。这里的异步是指多个任务的执行互不干扰,不需要进行同步操作。主要有三种Executor:CachedThreadPool:一个任务创建一个线程;FixedThreadPool:所有任务只能使用固定大小的线程;SingleThreadPool:相当于大小为1的FixedThreadPool。...原创 2020-03-06 11:53:43 · 112 阅读 · 0 评论