java
文章平均质量分 54
思绪离觞
这个作者很懒,什么都没留下…
展开
-
Java实现简单的计算器
文章目录前言一、主界面部分二、监听器部分二、监听器部分总结前言最近在复习着Java Swing的使用,在布局这块反复又看了很久,然后突然发现GirdLayout机器适合来做一个计算器的简单样子,所以花了一点时间做了一下,最后没想到是在处理结果的算法这一块花的时间最多,这个简单的计算器目前来说支持的是加减乘除和括号运算,当然之后可能会扩展三角函数等功能吧。。。。下面我将从各个模块来展示对应的代码一、主界面部分这个部分就是一个展.原创 2022-03-30 10:30:09 · 4582 阅读 · 0 评论 -
力扣刷题日记 968. 监控二叉树(未AC)
968. 监控二叉树题目描述题解思路结语题目描述题解思路数据范围为1-1000题目的内容还是很好理解的,但是因为自己思路上出了一点问题,所以没能AC掉,还是看了题解后发现自己进了死胡同,但想来想去还是写题解记录下来,这样之后总结起来也方便一些(解题思路来自题解)第一步:确定节点3个状态,0代表未被监视;1代表被监视;2代表已安装摄像头;第二步:后序遍历;先处理2个子节点再处理父节点;第三步:根据子节点的状态返回父节点的状态;1.子节点有一个状态为0,则父节点返回 2 父节点需要一个原创 2022-03-15 13:09:59 · 530 阅读 · 0 评论 -
力扣刷题日记 798. 得分最高的最小轮调
798. 得分最高的最小轮调题目描述题解思路题目描述题解思路数据范围没有截图到,这里的数据范围为0-20000题目的内容还是很好理解的,就是给你一个数组,你可以将数组内容向左推移若干次,而我们定义如果数组当前位置的值小于其索引即可得分,求使得得分最大的那个推移次数。首先,单从模拟的思路来说,我们很容易想到的一点是我们直接暴力来枚举所以的n的次数,然后再求每个次数的分数,但是可惜的是,这个算法的时间复杂度为O(n2),因为最高的数据可以到20000,显然会TLE,所以我们至少来说...原创 2022-03-09 19:20:26 · 8136 阅读 · 0 评论 -
力扣刷题日记 539. 最小时间差
539. 最小时间差题目描述题解思路代码结语题目描述题解思路没啥好说的,因为其的数据范围,我们其实只要把其转为整数形式就可以了,然后因为考虑到跨天,所以可以加上一天的时间来表示代码class Solution { public int findMinDifference(List<String> timePoints) { if (timePoints.size() > 1440) { //鸽巢原理 return 0;原创 2022-01-18 10:52:01 · 268 阅读 · 0 评论 -
JavaWeb学习(1/17)
上学期搞了好久的python,好久没有老老实实写Java代码了,寒假了,重新开始学习和巩固一下JavaWeb-----------------------------------------------------------------------------------------------------------基本语法Mysql数据类型...原创 2022-01-18 10:16:50 · 470 阅读 · 0 评论 -
力扣刷题日记 1220. 统计元音字母序列的数目
1220. 统计元音字母序列的数目题目描述题解思路代码结语题目描述1 <= n <= 2 * 10^4题解思路 惯例先从本题的数据范围出发,n最多为2*10^4,这意味着n^2的算法是不可取的,基于这个认识,我们来重新分析题目,发现其实就是一道比较简单的递归,甚至来说递归的公式都已经给出来了,不知道为啥会是困难题hhhhhh,所以没什么特别要说的,不过记得取模(题目后面提到了如果过大则结果对10^9+7取模)代码class Solution { public int c原创 2022-01-17 14:27:27 · 117 阅读 · 0 评论 -
力扣刷题日记 211. 添加与搜索单词
211. 添加与搜索单词题目描述题解思路代码结语题目描述题解思路 首先,这道题要求我们给出所有结果,那就意味着我们可能只能选择枚举这一条路,然后再看到数据范围,好家伙,确实挺小的,然后我们可以发现,对于每个"(",和")",我们都有俩种选法,删或存,但是如果我们用DFS把所有情况都枚举出来,那先不考虑时间问题,会不会DFS溢出都是疑问,所以必须要剪枝,那我们可以考虑一下,我们的目标是什么?是让所有的“(”和“)”数量匹配,那么我们的删除操作就不能把情况复杂,而是要降低不匹配度,所以我们可以计原创 2021-10-27 13:33:49 · 3967 阅读 · 0 评论 -
摩尔投票 力扣229. 求众数 II 进阶篇
求众数 II 进阶篇题目算法解释算法变换代码题目算法解释 之前的解题报告里,我们已经使用了普通的一种解决方法,而进阶的解题方法要求O(n)的时间复杂度和O(1)的空间复杂度,也就是说,必须线性方法就要解决问题,这时候我们也应该能发现,通用的解法已经行不通了,那么我们要引入一个新算法——摩尔投票法 摩尔投票法,顾名思义,就是解决投票选举类似的问题,我们先构思一个场景,如果有n个人在进行选举,大家投票来选举最终的候选人,得票超过n/2的人即可获胜(假设一定会存在这样一个),一般来说,简单思路就是原创 2021-10-22 10:27:41 · 85 阅读 · 0 评论 -
力扣刷题日记 229. 求众数 II
229. 求众数 II题目思路代码结语题目思路 本来想尝试一下进阶的方法,但奈何思来想去没有想到合适的,后面看题解似乎叫摩尔投票法?但还是先说说我自己的方法吧,首先还是先看数据范围,5*10^4,也就是说O(N^2)肯定不行,但是O(nlogn)就完全OK了,那既然这样,又是找相同的数量,那一个朴素的想法就是排序,快排正好就能符合这个要求,时间复杂度也是O(nlogn),后面再进行O(n)的一次遍历来数数即可,也只需要定义几个变量,空间复杂度差不多O(1)代码class Soluti原创 2021-10-22 09:13:00 · 76 阅读 · 0 评论 -
力扣刷题日记 211. 添加与搜索单词
211. 添加与搜索单词题目解题思路代码结语题目解题思路 从读题我们就不难看出,这是一道考字典树的题,因为查询时有可能带有“.”,所以无法按暴力的方法直接匹配整个字符串,而是要一个个字符进行匹配,所以简单的暴力方法是行不通的,只能通过字典树的方式来求解,那么其实发现这一点后就很好写了,只是要判断一下结尾点,因为如果存有“and”,如果查找的是“an”,那么简单的查找的结果是True,而其实是false,注意了这一点,其实就没问题了。代码class WordDictionary {原创 2021-10-19 10:24:34 · 113 阅读 · 0 评论 -
力扣刷题日记 230. 二叉搜索树中第K小的元素
230. 二叉搜索树中第K小的元素题目题解思路代码结语题目题解思路 感觉还挺简单的?因为是二叉搜索树(又叫二叉排序树),左子树全小于根节点,右子树全大于根节点,那其实就直接用中序遍历来数数就行。代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(原创 2021-10-17 10:02:37 · 105 阅读 · 0 评论 -
力扣刷题日记 38. 外观数列
38. 外观数列题目题解思路代码结语题目当然还有一个数据范围条件 N <= 30题解思路 这几天几乎满课,题是刷了但是没时间写题解了QWQ,今天的每日一题的难度是中等,开始看题的时候,读 完题目没看数据范围,还以为有点麻烦,但看了一下N <= 30,那不好意思,暴力模拟他这个操作的过程就行hh hhh,还是挺简单就搞定了,当然后面写完看题解居然有人打表来写?虽然感觉没必要,但那样就非常快了。代码class Solution { public String cou原创 2021-10-15 16:08:45 · 80 阅读 · 0 评论 -
力扣刷题日记 187. 重复的DNA序列[NG]
力扣刷题日记 187. 重复的DNA序列[未独立解出]题目描述审题思考题解代码题目描述审题思考 从数据大小可以看出来,简单的暴力求解肯定是不行的,时间复杂度应该在o(n),不然就超时了。 字符串上可用类似于“滑动窗口”的方法来进行提取,存储上用hash的方法就可以了,JAVA可以使用HashMap来 进行处理。(这个我是后来看题解才想到的,还是对于JAVA的数据结构不太记得住qwq) 所以这道题可以说是没有做出来,但是还是得写题解,作为开始吧hhhh,之前的题目大多忘记写题解了。。。题解代原创 2021-10-08 15:32:49 · 152 阅读 · 0 评论 -
JAVA中
易弄混java中字符串取字符:a.charAt(i),取出第i位的字符。做过的1.画图板2.分型3.Flappy bird4.国际跳棋5.微信小程序6.哈夫曼编码7.LZW原创 2020-11-22 17:04:38 · 118 阅读 · 0 评论 -
Flappy bird
前言嘛,这次是用java编写的Flappy bird,主要是本人最近新学习了多线程的使用,想试试手,变想出来做一个flappy bird的游戏,做出来后的大致效果还行吧2333但也需要进一步改进,还得多搞点事情使用到的类这一次使用了比较多的类,算下来好像10个(?)主要是对主要的部分都进行了一定程度的封装,虽然数量多了些,但代码更加清晰了,还算挺划算的代码话不多说,直接上代码吧(说太多也...原创 2020-01-16 15:55:33 · 541 阅读 · 0 评论 -
(JAVA)国际跳棋--棋里乾坤
导入因为假期内被朋友带入坑后起了兴趣,但发现网上似乎没有什么人写过国际跳棋的相关制作过程,于是制作了一个单纯的java的国际跳棋程序,虽然没有AI,但能够实现玩家双方的任务和皮肤(目前只设置了四个国家)选择,同时也增加了相关声效。国际跳棋的简单介绍对局时,棋子的原始摆法为:20枚黑兵排列在已方后四排的黑格内,白方棋子同黑,黑棋摆在1到20棋位,白棋摆在31到50棋位。经过一段对局,任何一方...原创 2019-12-14 19:35:44 · 2568 阅读 · 0 评论 -
画图板的制作(1)
一.界面的创建省略相关类的建立过程,直接上主菜吧JFrame j=new JFrame();//定义一个新的窗体对象public void showui(){ j.setBackground(Color.BLACK);//设置背景颜色(可略) j.setSize(1000, 1000);//窗体大小 j.setLocationRelativeTo(null);//窗体位置,null会...原创 2019-11-13 16:20:38 · 282 阅读 · 0 评论