- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 Leetcode 剑指 Offer 32 - II. 从上到下打印二叉树 II
题目:从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]分析1:这是常规解法,若queue为空,停止循环。用一个队列queue存树一行的元素,计算queue的size。否则依次remove,到临时list里,并且将左孩子left,右孩子right
2022-01-16 19:39:02
146
原创 Leetcode 剑指 Offer 56 - I. 数组中数字出现的次数
题目:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]class Solution { public int[] singleNumbers(int[] nums) { int s=0;
2022-01-16 18:57:12
176
原创 【Leetcode 435】无重叠区间,数组排序
此题与会议室安排有一些相似性。首先对数组进行快排,匿名内部类。排序规则是以区间右端数值较小的顺序进行排序。其次,此题对于相邻区间连接区取等号允许,因此判断条件取大于等于。class Solution { public int eraseOverlapIntervals(int[][] intervals) { int len=intervals.length; if (len==0) return 0; Arrays.sort(intervals, new
2021-12-15 20:14:07
498
原创 报错:org.yaml.snakeyaml.error.yamlexception: java.nio.charset.malformedinputexception: input length=1
用IDEA创建Spring Boot项目运行时,报了下面这个错误:org.yaml.snakeyaml.error.yamlexception: java.nio.charset.malformedinputexception: input length=1,该怎么办?看一遍报错信息,能大致感觉出来是yml配置文件出来错误,查了百度知道了这是编码的错误。我们可以这样解决:首先:把application.yml文件的内容复制下来,删除文件。然后点击:“file-settings-File Encoding
2021-12-01 22:25:29
808
原创 字典树||前缀树Java
class Trie { Map<Character, Trie> child = new HashMap<>(); boolean isWord; /** Initialize your data structure here. */ public Trie() { isWord = false; } /** Inserts a word into the trie. */ public
2021-11-24 20:36:43
310
原创 Leetcode116 :填充每个节点的下一个右侧节点指针
本题涉及二叉树的层序遍历,一般来说,需要用队列结题,先进先出。queue.remove();class Solution { public Node connect(Node root) { if (root==null) return null; else{ Queue<Node> queue=new LinkedList<Node>(); queue.add(root); while (
2021-11-21 21:01:42
55
原创 build中配置resources,来防止我们资源导出失败的问题
<!--在build中配置resources,来防止我们资源导出失败的问题--> <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include&g
2021-10-28 19:41:02
77
原创 Leetcode二分查找
class Solution { public int search(int[] nums, int target) { int l=0; int r=nums.length-1; while (l<=r){ int mid=(l+r)/2; if(nums[mid]==target){ return mid; } el
2021-10-27 16:18:17
45
原创 使用Spring注解开发报错
需要添加以下两行<context:component-scan base-package="com.kuang.pojo"/><context:annotation-config/><?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/X
2021-10-09 15:59:20
82
原创 LCCUP21秋季编程大赛---个人赛(第二题)
public static int maxmiumScore(int[] cards, int cnt) { Arrays.sort(cards); List<Integer> jishu=new ArrayList<>(); List<Integer> oushu=new ArrayList<>(); for(int cur:cards){ if(cur%2==0) ou
2021-09-11 20:39:21
73
原创 Java 实例 - 队列(Queue)用法
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。以下实例演示了队列(Queue)的用法:import java.util.LinkedList;import java.util.Queue; public class Main { public static void main(String[] args) { //add()和remove(
2021-09-09 09:35:19
118
原创 Java中ArrayList和LinkedList区别
Java中ArrayList和LinkedList区别ArrayList基于动态数组实现的非线程安全的集合;LinkedList基于链表实现的非线程安全的集合。对于随机index访问的get和set方法,一般ArrayList的速度要优于LinkedList。因为ArrayList直接通过数组下标直接找到元素;LinkedList要移动指针遍历每个元素直到找到为止。新增和删除元素,一般LinkedList的速度要优于ArrayList。因为ArrayList在新增和删除元素时,可能扩容和复制数组;L
2021-09-09 09:18:10
58
原创 Java HashMap 常用方法
clear() 删除 hashMap 中的所有键/值对clone() 复制一份 hashMapisEmpty() 判断 hashMap 是否为空size() 计算 hashMap 中键/值对的数量put() 将键/值对添加到 hashMap 中putAll() 将所有键/值对添加到 hashMap 中remove() 删除 hashMap 中指定键 key 的映射关系containsKey() 检查 hashMap 中是否存在指定的 key 对应的映射关系。containsValue() 检
2021-09-07 16:50:33
131
原创 Leetcode384:打乱数组
copy = Arrays.copyOf(nums, nums.length); //数组拷贝int nextlnt(int n);//生成一个随机的 int 值,该值介于 [0,n),包含 0 而不包含 n。如果想生成//指定区间的 int 值,也需要进行一定的数学变换题目:给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。实现 Solution class:Solution(int[] nums) 使用整数数组 nums 初始化对象int[] reset() 重设数组
2021-09-07 16:00:43
38
原创 Leetcode240:搜索二维矩阵 II
题目写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。解答class Solution { public boolean searchMatrix(int[][] matrix, int target) { int row=0; int col=matrix[0].length-1; while(row<=matrix.length-1 &
2021-09-03 09:44:05
55
原创 Leetcode190:颠倒二进制位
题目:颠倒给定的 32 位无符号整数的二进制位。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。解答:public class Solution { // you need tr
2021-09-03 09:21:35
48
原创 Leetcode191: 位1的个数
@TOCLeetcodeLeetcode191: 位1的个数你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。题目编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现
2021-09-02 15:56:51
39
原创 Leetcode1. 两数之和
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。class Solution { public int[] twoSum(int[] nums, int target) { int[] a= new int[]{999,999}; for (int i
2021-07-17 18:47:34
37
原创 2021-06-11
new和mallow 什么区别(C++)malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。 因此C++语言需要一个能完成动态内存分配和初始化工作
2021-06-11 18:22:05
29
原创 2021-06-11
vector与list区别(C++面试)vector 为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高。在vecotor中插入或者删除某个元素,需要将现有元素进行复制, 移动。如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素进行拷贝时开销较大,因为拷贝对象要调用拷贝构造函数。对于简单的小对 象,vector的效率优于list。vector在每次扩张容量的时候,将容量扩展2倍,这样对于小对象来说,效率是很高的。list中的对象是离散存储的,随机访问某个元素需
2021-06-11 18:19:45
37
试卷a.商务分析中的数据挖掘技术.2020春.docx
2020-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人