![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
_BOTAK_
saying less doing more
展开
-
Java中自定义对象排序方法
在写leetcode题目的时候,经常会想按照自己想的方式对数组或者说是字符串进行排序,就学习了这个方法,这篇文章主要是用来记录 java中自定义对象数组排序Arrays.sort()方法以及Collections.sort()中的Comparator接口用法Arrays.sort()Arrays.sort()用于对象数组的排序Arrays.sort(int[] a , int start , int end)这是对普通基本类型数组的排序方式,a:数组名称,start:起始位置的下表(能取得到),.原创 2020-11-04 16:19:14 · 522 阅读 · 1 评论 -
Leetcode(easy Tree)
Leetcode(easy Tree)leetcode 简单的树的题目,记录一下自己的刷题过程100. 相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; *原创 2020-11-02 14:17:06 · 288 阅读 · 0 评论 -
Leetcode(daily 10-24~ 10-31)
Leetcode(daily)Leetcode 每日一题10-24 1024视频拼接class Solution { // 创建一个Map<Integer,PriorityQueue<Integer>> private Map<Integer,PriorityQueue<Integer>> map; public int videoStitching(int[][] clips, int T) { map =原创 2020-10-31 11:47:36 · 278 阅读 · 1 评论 -
Leetcode(easy Greedy)
Leetcode(Greedy)leetcode 贪心算法的简单题目122. 买卖股票的最佳时机 II给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。class Solution { public int maxProfit(int[] prices) { // 贪心算法:只要今天买明天赚就买入原创 2020-10-30 10:14:27 · 149 阅读 · 0 评论 -
Leetcode(mystery)
Leetcode(mystery)leetcode 迷题目319. 灯泡开关初始时有 n 个灯泡关闭。 第 1 轮,你打开所有的灯泡。 第 2 轮,每两个灯泡你关闭一次。 第 3 轮,每三个灯泡切换一次开关(如果关闭则开启,如果开启则关闭)。第 i 轮,每 i 个灯泡切换一次开关。 对于第 n 轮,你只切换最后一个灯泡的开关。 找出 n 轮后有多少个亮着的灯泡。class Solution { public int bulbSwitch(int n) { if(n=原创 2020-10-29 09:50:45 · 221 阅读 · 0 评论 -
Leetcode(Random-1)
Leetcode(Random)leetcode随机写5道题而已 没有别的意思1093. 大样本统计// 代码是错的 ,但是不知道哪里出错了 只通过了一半的用例class Solution { public double[] sampleStats(int[] count) { // myidea : /** 最小值:用min记录,遍历count数组,第一次的访问下标所对应的元素不为0的下标就是最小元素 最大值:用max原创 2020-10-28 10:31:56 · 196 阅读 · 0 评论 -
Leetcode(easy Double pointer)
Leetcode(easy Double pointer)Leetcode 双指针简单题目26 删除排序数组中的重复项class Solution{ public int removeDuplicates(int[] nums){ // step代表慢指针 int step = 0; // 这里面的i就相当于快指针 for(int i = 1;i<nums.length;i++){ if(nums[i] != nums[step]){ // 满指针后移 存放i原创 2020-10-26 14:34:31 · 157 阅读 · 0 评论 -
Leetcode(Random)
Leetcode (Random)Leetcode随意点开的题目解答991. 坏了的计算器class Solution { public int brokenCalc(int X, int Y) { // 定义结果 int res = 0; boolean flag = true; // 肯定有结果,所以可以用while(true) while(flag){ if(X > Y){原创 2020-10-25 17:33:40 · 178 阅读 · 0 评论 -
Leetcode(easy ListNode)
Leetcode easy ListNodeLeetcode 简单链表题目21 合并两个有序链表题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int v原创 2020-10-23 10:48:33 · 106 阅读 · 0 评论 -
Leetcode(easy Bit)
Leetcode(Bit)leetcode位运算的简单的题目总结136 只出现一次的数字题目:给定一个非空整数数组,除了某一个元素只出现一次之外,其余每个元素均出现了两次,找出那个只出现一次的元素。说明:你的算法应该具有线性时间复杂度,而且尽量不使用额外空间解题思路:用到了位运算中的异或操作,两个相同的数字异或结果是0,数字与0异或的结果还是这个数字,并且异或操作满足交换律与结合律。时间复杂度O(n) 因为对nums进行了一次的遍历空间复杂度O(1) 没有占用额外的内存空间原创 2020-10-21 11:15:44 · 280 阅读 · 0 评论 -
Leetcode(easy Graph)
Leetcode(Graph)leetcode 图的简单题目997 找到小镇的法官题解 这是一道关于图的基本知识的题目,入度与出度的使用。符合题目要求的人一定是出度为0,入度为N-1class Solution{ public int findJudge(int N,int[][] trust){ int[] indegree = new int[N+1]; int[] outdegree = new int[N+1]; for(int[] info:trust){ in原创 2020-10-11 13:58:59 · 379 阅读 · 1 评论 -
JVM
JVM探究请你谈谈对JVM的理解?java8虚拟机和之前的变化更新什么是DOM,什么是栈溢出StackOverFlowError?怎么分析JVM常用的调优参数有哪些内存快照如何抓取,怎么分析Dump文件?谈谈JVM中,类加载器的认识JVM的位置JVM的体系结构百分之99的JVM调优都是在堆中进行调优的,Java栈,本地方法栈,程序计数器是不会有垃圾存在的。类加载器作用:加载Class文件类加载器主要有以下几个:虚拟机自带的类加载器根(启动类加载器)rt(一般为r原创 2020-10-08 19:39:50 · 189 阅读 · 0 评论 -
Leetcode(easy heap)
Leetcode (easy heap)703 数据流中的第K大元素class KthLargest{ int size; private PriorityQueue<Integer> q; public KthLargest(int k,int[] nums){ size = k; q = new PriorityQueue(k); for(int num:nums) add(num); } public int add(int val){原创 2020-10-08 10:26:49 · 160 阅读 · 0 评论 -
Leetcode(easy stack)
Leetcode easy stackleetcode简单题目中的栈的全部题目20 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。解题思路:按序读取字符串中的每一位,当读取到 ( , { , [ 三种左边的符号时,向栈中添加一个对应的右结束括号,当读取到 ) , } , ] 的时候,判断栈顶的元素是否与其相对应,原创 2020-10-08 10:12:20 · 187 阅读 · 0 评论 -
面向对象设计原则
面向对象设计原则单一职责原则SRP:Single Responsibility Principle一个类只负责一个功能领域的响应职责开闭原则OCP : Open-Closed Principle一个软件应当对扩展开放,对修改关闭,也就是说软件实体应该尽量在不修改原有代码的情况下进行扩展里氏替换原则LSP : Liskov Substitution Principle所有引用基类(父类)的地方必须能够透明的使用其子类的对象,也就是说子类可以扩展父类的功能,但不能改变原创 2020-10-07 22:20:46 · 117 阅读 · 0 评论 -
Java 基础
Java 基础Write Once ,Run Anywhere(JVM)java的特性简单性,面向对象,可移植性,高性能,分布式,动态性,多线程,安全性,健壮性。java的三大版本JavaSE:标准版本(桌面程序,控制台开发)JavaME:嵌入式开发JavaEE:E企业级开发(Web端,服务器开发)一些概念JDK:Java Development Kit – Java开发环境JRE:Java Runtime Environment – Java运行环境JVM:Java Virtual原创 2020-10-05 21:23:45 · 276 阅读 · 0 评论 -
Redis
NoSQL 概述为什么要用NoSQL?大数据时代,大数据一般不能够一般的数据库进行分析处理单机MySQL时代APP—>DAL(数据库访问层)—>Mysql(多个)瓶颈问题数据量太大,一台机器难以放置数据的索引 >300w数据量一定要建立索引,不然查询很慢 B+Tree访问量变大(读写混合),一个服务器难以支持Memcache(缓存)Memcache(缓存) + MySQL +垂直拆分(读写分离)网站80%的情况下,都在读数据库中的内容。每次都要重新查询一次原创 2020-10-05 21:15:02 · 242 阅读 · 0 评论