力扣-10.11-75
荷兰国旗问题解法一:(自己写的方法)扫描一遍数组,记下3个数的个数,再更新数组即可class Solution { public void sortColors(int[] nums) { int[] count= {0,0,0}; for(int i=0;i<nums.length;i++) { if(nums[i]==0) { count[0]++; }else if(nums[i]==1) { count[1]++; }els.
Java-10.11-455
贪心算法:class Solution { public int findContentChildren(int[] g, int[] s) { if(g==null || s==null) return 0; Arrays.sort(g); Arrays.sort(s); int gi=0,si=0; while(gi<g.length && si<s.length){ ..
Java-9.11-435
按照区间的结尾进行从小到大的排序依旧是贪心算法,因为选择的区间的结尾越小,越可能在后面增加区间class Solution { public int eraseOverlapIntervals(int[][] intervals) { if(intervals.length==0) { return 0; } Arrays.sort(intervals,new Comparator<int[]>() { @Override public..
力扣-10.12-452
方法一:(自己写的)按照区间起点进行排序,需要注意的是转换成doubleclass Solution { public int findMinArrowShots(int[][] points) { if(points.length==0) { return 0; } Arrays.sort(points,new Comparator<int[]>() { @Override public int compare(int[] o1, int.
Java-10.12
垃圾收集垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后就会消失,因此不需要对这三个区域进行垃圾回收。判断一个对象是否可被回收引用计数算法为对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。在两个对象出现循环引用的情况下,此时引用计数器永远不为 0,导致无法对它们进行回收。正是因为循环引用的存在,因此 Java 虚拟机不使用引用计数算法。publi
力扣-10.12-70
方法一:递归class Solution { public int climbStairs(int n) { if(n==1) { return 1; }else if(n==2) { return 2; }else { return climbStairs(n-1)+climbStairs(n-2); } }}递归会超时,可以转换为数组来实现,如下方法二:class Solution { public int climb.
力扣-10.13-406
主要思想是按h降序,k升序排列class Solution { public int[][] reconstructQueue(int[][] people) { if (people == null || people.length == 0 || people[0].length == 0) { return new int[0][0]; } Arrays.sort(people, (a, b) -> (a[0] == b[0] ?.
力扣-10.13-121
方法一:(自己写的)对每一个i找i之后的最大利润值class Solution { public int maxProfit(int[] prices) { if(prices.length==0) { return 0; } int profit=0; for(int i=0;i<prices.length-1;i++) { for(int j=i+1;j<prices.length;j++) { if(prices[j]&g.
力扣-10.13-122
方法一:(自己写的)class Solution { public int maxProfit(int[] prices) { if(prices.length==0 || prices.length==1) { return 0; } int p=0,q=1,profit=0; while(q<prices.length) { if(prices[p]>prices[q]) { ..
力扣-10.13-605
方法一:我们从左到右扫描数组 flowerbed,如果数组中有一个 0,并且这个 0 的左右两侧都是 0,那么我们就可以在这个位置种花,即将这个位置的 0 修改成 1,并将计数器 count 增加 1。对于数组的第一个和最后一个位置,我们只需要考虑一侧是否为 0。在扫描结束之后,我们将 count 与 n 进行比较。如果 count >= n,那么返回 True,否则返回 False。class Solution { public boolean canPlaceFlowers(int.
力扣-10.13-392
方法一:(自己写的)class Solution { public boolean isSubsequence(String s, String t) { char[] sc=s.toCharArray(); char[] tc=t.toCharArray(); int i=0,j=0; while(i<sc.length && j<tc.length) { if(sc[i]==tc[j]) { i++; j++; .
Linux Server安全配置基线(等保)
第1章概述1.1目的本文档规定了所有维护管理的Linux操作系统的主机应当遵循的操作系统安全性设置标准,本文档旨在指导系统管理人员进行Linux操作系统的安全合规性检查和配置。1.2适用范围本配置标准的使用者包括:服务器管理员、应用管理员、网络安全管理员、运维工程师。本设置标准适用于Linux服务器系统。1.3实施在本标准的执行过程中若有任何疑问或建议,应及时反馈。第2章身份鉴别2.1身份标识唯一
你知道Java数组转List的三种方式及对比吗?
前言:本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。一.最常见方式(未必最佳)通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。关键代码:List list = Arrays.asList(strArray);private void testArrayCas
Java-10.13
垃圾收集器以上是 HotSpot 虚拟机中的 7 个垃圾收集器,连线表示垃圾收集器可以配合使用。单线程与多线程:单线程指的是垃圾收集器只使用一个线程,而多线程使用多个线程;串行与并行:串行指的是垃圾收集器与用户程序交替执行,这意味着在执行垃圾收集的时候需要停顿用户程序;并行指的是垃圾收集器和用户程序同时执行。除了 CMS 和 G1 之外,其它垃圾收集器都是以串行的方式执行。Serial 收集器Serial 翻译为串行,也就是说它以串行的方式执行。它是单线程的收集器,只会使用一个线程进
iTOP-iMX6开发板-设备树驱动-以module的方式编译驱动
内核驱动不仅可以将驱动编译到内核中,还可以动态的编译内核驱动。本文档介绍如何以模块的方式编译内核驱动。以module的方式编译驱动,需要以下几个部分:1内核成功编译过;2找到内核的arm编译器;3编译简单驱动;4编译简单的Makefile文件,Makefile文件中需要指向内核源码目录(成功编译过的内核源码目录);和文档在一起的有“Makefile”、c文件和ko文件,大家可以用来测试。要动态的编
分布式id生成策略,我和面试官扯了一个半小时
一、分布式系统带来ID生成挑战在分布式系统中,往往需要对大量的数据如订单、账户进行标识,以一个有意义的有序的序列号来作为全局唯一的ID。而分布式系统中我们对ID生成器要求又有哪些呢?全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。递增:比较低要求的条件为趋势递增,即保证下一个ID一定大于上一个ID,而比较苛刻的要求是连续递增,如1,2,3等等。高可用高性能:ID生成事关重大,一
今日推荐
周排行