摘要:
1814. 统计一个数组中好对子的数目 题目 给你一个数组 nums ,数组中只包含非负整数。定义 rev(x) 的值为将整数 x 各个数字位反转得到的结果。比方说 rev(123) = 321 , rev(120) = 21 。我们称满足下面条件的下标对 (i, j) 是 好的 : 0 <= i 阅读全文
摘要:
LeetCode 1482. 制作 m 束花所需的最少天数题目给你一个整数数组 bloomDay,以及两个整数 m 和 k 。现需要制作 m 束花。制作花束时,需要使用花园中 相邻的 k 朵花 。花园中有 n 朵花,第 i 朵花会在 bloomDayi 时盛开,恰好 可以用于 一束 花中。请你返回从花园中摘 m 束花需要等待的最少的天数。如果不能摘到 m 束花则返回 -1 。K>1; ... 阅读全文
摘要:
Data StructureThere're two types of variables in C#, reference type and value type.Enum:enum Color{Red=0,Green=1}//equals to enum Color{Red,//start from 0 as defaultGreen}int to enum:(Color)valArrays ... 阅读全文
摘要:
题目1453. 圆形靶内的最大飞镖数量墙壁上挂着一个圆形的飞镖靶。现在请你蒙着眼睛向靶上投掷飞镖。投掷到墙上的飞镖用二维平面上的点坐标数组表示。飞镖靶的半径为 r 。请返回能够落在 任意 半径为 r 的圆形靶内或靶上的最大飞镖数。数据规模:点的个数N2*r){ return null; } double a=dist/2; doubl... 阅读全文
摘要:
定义丑数的定义是指只包含质因数2、3、5的正整数。认为1是第一个丑数。1、2、3、4、5、6...广义的丑数不限定质因数为2,3,5,而是给定一个数组。丑数:判断给定的整数是不是丑数。很简单,直接判断是否只包含这三种因子。也就是当它们能够整除2的时候,就一直做除法。3、5同理。最后得到结果为1就是丑数。不然就是有其他因子。public boolean isUgly(int num) { if... 阅读全文
摘要:
二叉搜索树中的顺序后继:从BST中找到指定节点的下一个节点。比如1的下一个是2,2的下一个是3,4的下一个是5.思路:方法1:递归执行中序遍历,获取list,得到p的下一个。时间O(N),空间O(N)方法2:递归执行中序遍历,在递归过程中获取x的下一个。如果当前值是x,则当前值有可能,它的左子树也有可能有更小的但是也>x的,对左子递归后,选择更接近的(更小的).时间O(logN),空间O(logN... 阅读全文
摘要:
验证栈序列,给定push和pop序列,是否可能是一对出栈入栈组合。输入:pushed = [1,2,3,4,5], popped = [4,3,5,1,2]输出:false解释:1 不能在 2 之前弹出。思路:利用Stack数据结构。从j出发:访问到pop[j]的时候,需要把push里对应的这个值的前面所有值都压入栈。i和j指向当前的push和pop,当栈顶不为pop[j]时,i的值一直入栈并向后... 阅读全文
摘要:
题目n*m的矩阵,一个整数k,移动矩阵k次。每次移动的操作为:向右移动(最后一列移动到第一列)之后,第一列向下移动。1> shiftGrid(int[][] grid, int k) { int[][] tmp=new int[grid.length][grid[0].length]; for (int i = 0; i > res=new ArrayList(grid.length)... 阅读全文
摘要:
题目一颗二叉树,树根值为0,父节点为x,则左子值为2x+1,右子为2x+2。现在只有树的结构,所有值都变为-1被污染了。求污染前是否存在某个值。构建一次树,查询会调用多次。题解这道题还是比较简单的,先复原树,然后根据要求查找。复原树的过程是传递node的值和node节点到递归函数,函数先设置x的值,然后递归处理。对null的node直接返回不执行任何操作。当然,也可以不用递归,用Queue进行层次... 阅读全文
摘要:
题目n*m的矩阵,只用正方形铺。求最少正方形个数。n,m=m如果memo中计算过,则直接返回。for(i=[1,m])在左上角放入大小为i的正方形。那么剩下来的部分有两种方法:以正方形的两条线把矩阵分割成一共三个部分。f(m-i,n)+f(i,n-i)或者f(n-i,m)+f(m-i,i)。这两种方案取小者。上面的思路是错误,对于下面的形式不能适用。普通形式应该是上图这样的。之前的形式是上图的特殊... 阅读全文
摘要:
题目给定一个字符串数组 arr,字符串 s 是将 arr 某一子序列字符串连接所得的字符串,如果 s 中的每一个字符都只出现过一次,那么它就是一个可行解。请返回所有可行解 s 中最长长度。解题暴力回溯:f(i,bool[],arr):遍历到arr中第i个字符串,bool数组标识已经出现过的字符。f(i+1,bool[],arr)+arr[i].length()//如果bool和arr[i]没有冲突... 阅读全文
摘要:
题目给你两个整数 n 和 start。你的任务是返回任意 (0,1,2,,...,2n-1) 的排列 p,并且满足:p[0] = startp[i] 和 p[i+1] 的二进制表示形式只有一位不同p[0] 和 p[2n -1] 的二进制表示形式也只有一位不同思路暴力回溯:O(n*2n)f(s,visited,listRes)用s标识二进制的字符串if(visited.size())==162)则可... 阅读全文
摘要:
题目给定方程f和值z,找出给定方程f(x,y)=z的正整数解x,y。f(x,y)关于x、y都是严格单调的。题目保证 f(x, y) == z 的解处于 1 > findSolution(CustomFunction customfunction, int z) { List> res=new ArrayList(); int MAX_VAL=1000; for (int i = ... 阅读全文
摘要:
接口lambda函数式接口函数式接口的声明和使用Java8中常用的函数式接口PredicateFunction、BiFunctionSupplier、ConsumerComparatorOptional流容器类和流的转化流的转化Java8发布了挺久了,而且有很大的变动。这里是一篇迟来的部分Java8新特性的总结。接口接口提供默认方法的实现,非static方法前必须有default关键字。defau... 阅读全文
摘要:
概念Java的不可变类是指八个基础类型的包装类和String,他们的数据成员是不可变的。使用加法等操作时,其实是创建了一个新的对象。Java的final类是对类用关键字final进行修饰,说明该类是不可被继承的。关联不可变类为了保证其不可变性,通常实现上有以下几种规则:成员变量是private final的,get返回对象成员变量的副本初始化(使用构造函数)成员变量时,使用副本。不提供set函数。... 阅读全文
摘要:
题目正整数数组nums,找到满足条件的最长前缀,返回其长度。该前缀满足:删除一个元素后,剩下的每个数字出现的次数相同。ps:如果删除后没有元素存在,也可以认为每个数字有相同的次数。数组长度:[2,105],元素值:[2,105]解答在遍历数组的过程中,计算每个数字的频率映射val2Freq,再统计频率的频率。对于满足条件的前缀,此刻的‘频率的频率’有以下几种可能:所有元素频率相等,除了其中一个元素... 阅读全文
摘要:
[TOC] 配置 TeXlive 下载了最新的texlive2017.由于下载安装工具,再由安装工具从网上下载镜像的方法经常半路停止,可能由于网络问题,所以找了一个直接下载镜像的方法。下载镜像地址和安装见 "这个网站" . 论文模板 学校的毕业论文模板是seuthesis,但是缺乏维护,由于texl 阅读全文
摘要:
题目描述 MyCalendar主要实现一个功能就是插入指定起始结束时间的事件,对于重合的次数有要求。 1. "MyCalendar I" 要求任意两个事件不能有重叠的部分,如果插入这个事件会导致重合,则插入失败,不进行插入;否则插入并返回true。 2. "My Calendar II" 要求任意三 阅读全文
摘要:
题目描述 给定一个char数组,代表CPU需要做的任务,包含A Z,不用考虑顺序,每个任务能在1个单位完成。但是有规定一个非负整数n代表两个相同任务之间需要至少n个时间单位。球最少数量的时间单位完成所有任务。 思路 先要找到最大的任务个数x,若总任务类数 =n,则时间至少为(x 1) (n+1)+最 阅读全文
摘要:
题目描述 给定n个数字的数组,里面的值都是1 n,但是有的出现了两遍,因此有的没有出现,求没有出现值这个数组中的值有哪些。 要求不能用额外的空间(除了返回列表之外),时间复杂度n 思路 因为不能用额外空间并且时间是O(n),所以不能用排序或者hash 通过在对应位置的值去确定下一个位置,一直到遍历完 阅读全文