
JavaSE
hammring
Stay Hungery,Stay Foolish
展开
-
list转二叉树的实现
思路:首先需要考虑使用什么样的数据结构来进行转换,比如说是要栈还是队列,从线性结构转换为非线性结构。1.将数组转为list对象。该list应该为双向队列的线性结构。2.判断先出来的对象是否为空,空则不处理,否则创建二叉树对象。(二叉树很多时候可以采用递归的方法实现)具体代码实现: public static void main(String[] args) { //创建linkedlist对象,类似于双向队列(先进先出) LinkedList<In原创 2021-07-22 12:47:54 · 1188 阅读 · 2 评论 -
面试:HashMap的原理
从leetcode137.只出现一次的数字 || 来看HashMap的原理进行讲解。1.题目描述给你一个整数数组nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例 1:输入:nums = [2,2,3,2]输出:3示例 2:输入:nums = [0,1,0,1,0,1,99]输出:992.解题思路1.)使用HashMap用<key,value>的形式存储键值对,一个键值对为一个entry.把整个数组.原创 2021-05-03 11:26:26 · 170 阅读 · 0 评论 -
Leetcode416. 分割等和子集--hammring
1.题目描述给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.2.解题思路使用方法:动态规划1).判断数组长度是否小于2,否..原创 2020-10-17 11:09:30 · 241 阅读 · 2 评论 -
Leetcode56: 合并区间--hammring
题目描述:给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠...原创 2019-09-17 16:46:00 · 124 阅读 · 0 评论 -
Leetcode1122: 数组的相对排序
题目描述:给你两个数组,arr1 和arr2,arr2中的元素各不相同arr2 中的每个元素都出现在arr1中对 arr1中的元素进行排序,使 arr1 中项的相对顺序和arr2中的相对顺序相同。未在arr2中出现过的元素需要按照升序放在arr1的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4...原创 2019-09-02 09:38:23 · 361 阅读 · 0 评论 -
Leetcode242: 有效的字母异位词--hammring
题目描述:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。题目思路:以示例一为例,设为一个26位的数组,对s数组所在的单词执行加...原创 2019-08-27 10:34:09 · 208 阅读 · 0 评论 -
leetcode9: 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...原创 2019-04-15 00:46:24 · 160 阅读 · 0 评论 -
HashMap和HashSet的区别
HashMap是基于哈希表的Map接口实现的,存储的是键值对。它所提供所有可选的映射操作。并允许使用null值和null键,但不保证映射的顺序。HashMap是基于HashCode的,若想正确使用它就需要重写hashcode()和equals()方法。HashMap不是线程安全的,若要线程安全,可用:Map m = Colletions.synchronizedMap(new HashMap...原创 2019-04-07 22:20:48 · 444 阅读 · 0 评论 -
leetCode5:最长回文子串(longestPalindrome)
给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"Java代码:class Solution { public String longestPalindrome(String s)...原创 2019-04-10 18:31:57 · 632 阅读 · 0 评论 -
创建对象的五种方式
Java创建对象的5种方式:1.使用new 关键字。Employee emp1 = new Employee();2.使用class类的newInstance方法Employee emp2 = class.forname("org.programing.mitra.exercise.Employee").newInstance();或者Employee emp2 = Employee.cl...原创 2019-03-21 00:05:21 · 217 阅读 · 0 评论