java学习
文章平均质量分 50
大鱼qss
阳光的java程序员
展开
-
多进制计算器 java
多进制计算器 java原创 2022-10-15 15:13:40 · 489 阅读 · 1 评论 -
(剑指 Offer)从上到下打印二叉树 I;从上到下打印二叉树 II
从上到下打印二叉树 I二叉树的层次遍历,一般层次遍历使用队列,思路如下:将树根元素root入队开始循环:每次判断队列是否为空,为空则结束循环不为空执行以下步骤将队头元素出队,将队头val存储;将队头节点的左右孩子入队;代码如下 ans.offer(root); while(!ans.isEmpty()) { TreeNode temp = ans.poll(); res.add(temp.原创 2022-05-10 09:56:22 · 247 阅读 · 0 评论 -
剑指 Offer 11. 旋转数组的最小数字
这个题目看到数据量,我觉得O(n)肯定是可以过的,于是一个简单的线性搜索就出来了。class Solution { public int minArray(int[] numbers) { int n = numbers.length; for(int i = n - 1 ; i > 0 ; i--) { if(numbers[i - 1] > numbers[i]) return num.原创 2022-05-09 12:32:23 · 140 阅读 · 0 评论 -
最小基因变化(BFS)
经典的BFS暴力搜索的题目,使用一个队列进行BFS搜索即可,到达终点即返回step。有一点需要注意,走完一层算一步。为了不走回头路使用HashSet去存储走过的节点。总体代码如下:class Solution { public int minMutation(String start, String end, String[] bank) { HashSet<String> bank_set = new HashSet<>(); Hash.原创 2022-05-08 14:27:30 · 180 阅读 · 0 评论 -
编辑距离(动态规划)
考虑使用动态规划解法,dp数组需要时二维的,dp[i][j] 表示 word1的前 i 个和word2前 j 个字符的最小距离。那么需要现有一个base条件即某一个单词为0,则直接返回另一个单词的长度。那么初始化代码如下: int n = word1.length(); int m = word2.length(); int[][] dp = new int[n + 1][ m + 1]; for(int i =1 ;i <= n ; i++.原创 2022-05-07 13:01:45 · 367 阅读 · 0 评论 -
LinkedList(对队列、、栈、list实现的简单理解)
自己对LinkedList的一些了解实现了三种数据结构:1. List链表的实现:方式如下:LinkedList<E> ans = new LinkedList<>();这里表示双端队列,在插入、删除频繁的时候常用,效率较高,但查找节点比较麻烦,用接口:即获得元素、链表长度、添加元素、删除元素、判断为空、排序、判断是否包含某个元素2. 队列的 实现:Queue<Integer> ans = new LinkedList<>();需要尾原创 2022-05-05 11:37:04 · 625 阅读 · 0 评论 -
1823. 找出游戏的获胜者
这是一个经典的约瑟夫环问题使用队列模拟去解决这个问题这个:class Solution { public int findTheWinner(int n, int k) { Queue<Integer> ans = new LinkedList<>(); for(int i = 1 ;i <= n ; i++) { ans.offer(i); } whil原创 2022-05-04 10:14:51 · 992 阅读 · 0 评论 -
1305. 两棵二叉搜索树中的所有元素(中序遍历)
两棵二叉搜索树中的所有元素(中序遍历)原创 2022-05-01 21:07:49 · 613 阅读 · 0 评论 -
买卖股票的最佳时机 II(贪心和动态规划)
买卖股票的最佳时机 II(贪心和动态规划)原创 2022-04-28 14:29:57 · 85 阅读 · 0 评论 -
和大于等于 target 的最短子数组(三种解法)
和大于等于 target 的最短子数组(三种解法)原创 2022-04-26 22:15:39 · 967 阅读 · 0 评论 -
随机数索引( 水塘抽样)
随机数索引( 水塘抽样)原创 2022-04-25 10:20:19 · 85 阅读 · 0 评论 -
JAVA的Random类常用用法
JAVA的Random类常用用法转载 2022-04-25 09:51:08 · 3177 阅读 · 0 评论 -
868. 二进制间距(二进制)
二进制间距(二进制)原创 2022-04-24 14:56:23 · 228 阅读 · 0 评论 -
剑指 Offer II 005. 单词长度的最大乘积(两种做法)
剑指 Offer II 005. 单词长度的最大乘积(两种做法)原创 2022-04-24 11:22:42 · 137 阅读 · 0 评论 -
剑指 Offer II 001. 整数除法(简单题)
剑指 Offer II 001. 整数除法(简单题)原创 2022-04-22 18:32:22 · 280 阅读 · 0 评论 -
40. 组合总和 II (回溯算法)
40. 组合总和 II (回溯算法)原创 2022-04-20 15:39:54 · 390 阅读 · 0 评论 -
8. 字符串转换整数 (atoi)(这是我做过的最曲折的题目)
8. 字符串转换整数 (atoi)原创 2022-04-20 10:52:59 · 132 阅读 · 0 评论 -
6. Z 字形变换(模拟思路)
Z 字形变换原创 2022-04-18 11:05:20 · 90 阅读 · 0 评论 -
leetcode 39. 组合总和(回溯算法)
组合总数 经典回溯算法原创 2022-04-15 13:02:18 · 89 阅读 · 0 评论 -
leetcode无重复字符的最长子串(滑动窗口)
滑动窗口经典题目-无重复字符的最长子串原创 2022-04-13 13:05:28 · 388 阅读 · 0 评论 -
leetcode (回溯算法,中等难度)77. 组合
leetcode-77-组合原创 2022-04-12 15:43:40 · 122 阅读 · 0 评论 -
21. 合并两个有序链表(两种解法)
21. 合并两个有序链表(两种解法)leetcode原创 2022-04-11 20:14:35 · 233 阅读 · 0 评论 -
416. 分割等和子集(难度中等)
416. 分割等和子集(难度中等)原创 2022-04-11 09:40:57 · 759 阅读 · 0 评论 -
Java 并发的一点理解
线程和进程原创 2022-04-10 15:16:43 · 235 阅读 · 0 评论