- 博客(84)
- 资源 (1)
- 收藏
- 关注
原创 LeetCode:给出一个转动过的有序数组,在数组中搜索给出的目标值,如果能在数组中找到,返回它的索引,否则返回-1。
题目描述给出一个转动过的有序数组,你事先不知道该数组转动了多少(例如,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2).在数组中搜索给出的目标值,如果能在数组中找到,返回它的索引,否则返回-1。假设数组中不存在重复项。解题思路:(1)暴力搜索法,时间复杂度为O(n)public class Solution { public int search(int[] A, int target) { //暴力搜索法,时间复杂度为O(n)
2020-07-15 11:30:54 979
原创 /usr/local/kafka_2.12-2.5./usr/lib/jvm/java-8-openjdk-amd64/bin”/bin/java: No such file or directory
原因:用Linux命令进行Kafka的一些操作,发现报错$JAVA_HOME目录下文件找不到,找了很久发现是文件权限的原因,只需在命令行前加sudo即以root权限执行即可。
2020-05-26 20:17:21 898
原创 LeetCode:给定一个二叉树,返回该二叉树由底层到顶层的层序遍历
题目描述给定一个二叉树,返回该二叉树由底层到顶层的层序遍历,(从左向右,从叶子节点到根节点,一层一层的遍历)例如:给定的二叉树是{3,9,20,#,#,15,7}, 3↵ / ↵ 9 20↵ / ↵ 15 7该二叉树由底层到顶层层序遍历的结果是[↵ [15,7]↵ [9,20],↵ [3],↵]如果你不清楚“{1,#,2,3}"的...
2020-03-08 23:05:19 572
原创 LeetCode:链表和数组转换成平衡二叉树-递归求解
题目描述给定一个单链表,其中的元素按升序排序,请将它转化成平衡二叉搜索树(BST)Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.Java代码实现/** * Definition for singly-link...
2020-03-08 22:22:30 245
原创 LeetCode:Gas station汽油站
题目描述环形路上有n个加油站,第i个加油站的汽油量是gas[i].你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始的时候油箱里面没有汽油。求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。注意:答案保证唯一。There areNgas stations ...
2020-02-27 11:27:50 149
原创 LeetCode:Candy糖果发放
题目描述有N个小朋友站在一排,每个小朋友都有一个评分你现在要按以下的规则给孩子们分糖果:每个小朋友至少要分得一颗糖果 分数高的小朋友要他比旁边得分低的小朋友分得的糖果多你最少要分发多少颗糖果?There areNchildren standing in a line. Each child is assigned a rating value.You are gi...
2020-02-26 20:59:51 153
原创 LeetCode:Single-Number
题目描述现在有一个整数类型的数组,数组中只有一个元素只出现一次,其余元素都出现三次。你需要找出只出现一次的元素注意:你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?Given an array of integers, every element appearsthreetimes except for one. Find that s...
2020-02-26 11:39:46 97
原创 Java-二叉树的遍历(递归和非递归)
二叉树的遍历分为前序、中序、后序和层序遍历四种方式定义二叉树 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } 二叉树的遍历分为前序、中序、后序和层序遍历Java代码实现://前序遍历递归的方...
2020-02-20 00:32:24 127
原创 LeetCode:reorder-list链表重排序
题目描述将给定的单链表L:L0→L1→…→Ln-1→Ln,重新排序为:L0→Ln→L1→Ln-1→L2→Ln-2→…要求使用原地算法,并且不改变节点的值例如:对于给定的单链表{1,2,3,4},将其重新排序为{1,4,2,3}.Given a singly linked listL:L0→L1→…→Ln-1→Ln,reorde...
2020-01-22 18:27:57 178
原创 LeetCode:在O(n log n)的时间内使用常数级空间复杂度对链表进行排序。
题目描述在O(n log n)的时间内使用常数级空间复杂度对链表进行排序。Sort a linked list inO(nlogn) time using constant space complexity.解题思路:用归并排序,链表存储的归并排序 时间复杂度O(nlogn)空间复杂度 O(1)归并排序的一般步骤为:1)将待排序数组(链表)取中点并一分为二;2)...
2020-01-20 15:40:57 534
原创 LeetCode:对于给定的n个位于同一二维平面上的点,求最多能有多少个点位于同一直线上
题目描述对于给定的n个位于同一二维平面上的点,求最多能有多少个点位于同一直线上Givennpoints on a 2D plane, find the maximum number of points that lie on the same straight line.解题思路:循环遍历每个点,先统计其他点与当前点的重合个数dup以及与当前点在同一条垂直线上vlt的个数(斜率不存...
2020-01-17 19:57:02 811 1
原创 Leetcode:计算逆波兰式(后缀表达式)的值
题目描述计算逆波兰式(后缀表达式)的值运算符仅包含"+","-","*"和"/",被操作数可能是整数或其他表达式例如: ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9↵ ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6Java实现代码import...
2020-01-17 15:30:56 205
原创 Leetcode: 求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。
题目描述求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest le...
2020-01-17 15:07:10 704
原创 程序员面试金典:回文链表
题目描述请编写一个函数,检查链表是否为回文。给定一个链表ListNode*pHead,请返回一个bool,代表链表是否为回文。测试样例:{1,2,3,2,1}返回:true{1,2,3,2,3}返回:falseJava代码:方法一:快慢指针找到链表中间节点,比较中间节点两边的节点值是否对应相等。import java.util.*;/*pu...
2019-12-11 15:27:08 94
原创 程序员面试金典:链式A+B
题目描述有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。给定两个链表ListNode*A,ListNode*B,请返回A+B的结果(ListNode*)。测试样例:{1,2,3},{3,2,1}返回:{4,4,4}Java代码:import java.util.*;...
2019-12-10 16:27:28 91
原创 程序员面试金典:确定两串乱序同构
题目描述给定两个字符串,请编写程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。这里规定大小写为不同字符,且考虑字符串中的空格。给定一个stringstringA和一个stringstringB,请返回一个bool,代表两串是否重新排列后可相同。保证两串的长度都小于等于5000。测试样例:"This is nowcoder","is This nowcoder"...
2019-11-29 11:46:17 133
原创 Java笔记-异或交换值
有两个变量a,b,我们通常的做法是通过一个中间变量(辅助变量)去交换变量a,b的值,会使用到额外空间.int a = 5;int b = 8;//交换两数的值int tmp = a;a = b;b = tmp;下面通过异或运算来实现a,b值的交换,不会使用到额外空间int a = 5; //二进制0000 0101int b = 8; //二进制0000 100...
2019-11-27 14:50:38 90
原创 Java中的关键字
Java中的关键字有哪些?答:1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、lo...
2019-10-18 13:14:52 101
原创 Java笔记-Object 类中方法
Object 类中方法:registerNatives() //私有方法getClass() //返回此 Object 的运行类。hashCode() //用于获取对象的哈希值。equals(Object obj) //用于确认两个对象是否“相同”。clone() //创建并返回此对象的一个副本。toString() //返回该对象的字符串表示。...
2019-10-17 14:44:06 125
原创 剑指offer:按之字形顺序打印二叉树
题目描述请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。思路:套用二叉树层序遍历模板,在原来的基础上设置变量count,记录每一层节点的个数,设置变量layer,记录层数,即第几层Java代码实现import java.util.ArrayList;import java.util....
2019-10-10 11:15:58 111
原创 剑指offer:链表中环的入口结点
题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。------------------------------------------解题思路:链接:https://www.nowcoder.com/questionTerminal/253d2c59ec3e4bc68da16833f79a38e4?f=discussion来源:牛客网1、设...
2019-10-08 10:55:34 140
原创 Java —— int和Integer的区别
int和Integer的区别1、Integer是int的包装类,int则是java的一种基本数据类型2、Integer变量必须实例化后才能使用,而int变量不需要3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4、Integer的默认值是null,int的默认值是0...
2019-10-07 21:27:54 67
转载 Java中char和String的相互转换
Java中char是一个基本类型,而String是一个引用类型。有时候我们需要在它们之间互相转换。String转换为char在Java中将String转换为char是非常简单的。1. 使用String.charAt(index)(返回值为char)可以得到String中某一指定位置的char。2. 使用String.toCharArray()(返回值为char[])可以得到将包含整...
2019-10-07 21:25:21 60
原创 剑指offer:字符流中第一个不重复的字符
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。思路:利用LinkedHashMap(记录了插入顺序),而HashMap是无序的随机插入,key用来存...
2019-10-07 15:50:58 144
原创 剑指offer:把字符串转换成整数
题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例1输入+2147483647 1a33输出2147483647 0思路:遍历字符串,进行累加操作,需在此...
2019-10-03 17:50:02 123
原创 剑指offer: 扑克牌顺子
题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K...
2019-10-02 19:59:31 148
原创 剑指offer:把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:将数组中的元素排序,每个数组元素的首位数字越小,将其排在越前面。这样排成的数字是最小的。如题中{3,32,321},(1)每个数组元素的第一位数字都是3(2)继续比较第二位数字,其首位...
2019-09-29 12:28:13 81
原创 剑指Offer:连续子数组的最大和
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会...
2019-09-29 10:12:13 52
原创 剑指offer:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.Java代码实现import java.util.ArrayList;public class Solut...
2019-09-19 12:11:34 124
原创 剑指offer :一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
两种解法,动态规划法运行效率更高动态规划法public class Solution { public int JumpFloor(int target) { if(target <= 0) return 0; if(target == 1) return 1; int[] dp ...
2019-09-09 12:46:53 305
原创 Leetcode:给出一组候选数C和一个目标数T,找出候选数中起来和等于T的所有组合。C中的数字在组合中可以被无限次使用。(回溯法)
题目描述给出一组候选数C和一个目标数T,找出候选数中加起来和等于T的所有组合。C中的数字在组合中可以被无限次使用注意:题目中所有的数字(包括目标数T)都是正整数 你给出的组合中的数字 (a1,a2, … ,ak) 要按非递增排序(ie,a1≤a2≤ … ≤ak). 结解集中不能包含重复的组合例如:给定的候选数集是[2,3,6,7],目标数是7解...
2019-09-07 18:17:27 1554 3
原创 Leetcode:给出一组候选数C和一个目标数T,找出候选数中起来和等于T的所有组合。C中的每个数字在一个组合中只能使用一次。(回溯法)
题目描述给出一组候选数C和一个目标数T,找出候选数中起来和等于T的所有组合。C中的每个数字在一个组合中只能使用一次。注意:题目中所有的数字(包括目标数T)都是正整数 组合中的数字 (a1,a2, … ,ak) 要按非递增排序(ie,a1≤a2≤ … ≤ak). 结果中不能包含重复的组合例如:给定的候选数集是[10,1,2,7,6,1,5],目标数是...
2019-09-07 18:14:59 1521 2
原创 Leetcode: 返回不包含重复项数组的所有排列(回溯法)
给出一组数字,返回该组数字的所有排列例如:[1,2,3]的所有排列如下[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1].Java代码实现import java.util.ArrayList;public class Solution { ArrayList<ArrayList<Integer>>...
2019-09-05 14:07:00 328
原创 Leetcode: 返回包含重复项数组的所有排列(回溯法)
题目描述给出一组可能包含重复项的数字,返回该组数字的所有排列例如;[1,1,2]的排列如下:[1,1,2],[1,2,1], [2,1,1].Java代码实现import java.util.ArrayList;import java.util.Arrays;public class Solution { ArrayList<ArrayList<I...
2019-09-05 14:04:46 1235
原创 Leetcode: 实现函数 pow(x, n).
解法一public class Solution { public double pow(double x, int n) { if(n == 0) return 1; double res = 1.0; double tmp = x; for(int i = n; i !=0 ; i = i/2...
2019-09-03 16:12:24 91
原创 Leetcode:merge-intervals 给出一组区间,请合并所有重叠的区间。
题目描述给出一组区间,请合并所有重叠的区间。例如,给出[1,3],[2,6],[8,10],[15,18],返回[1,6],[8,10],[15,18].Given a collection of intervals, merge all overlapping intervals.For example,Given[1,3],[2,6],[8,10],[15,18...
2019-09-02 11:13:12 1094
原创 Leetcode:The set[1,2,3,…,n]contains a total of n! unique permutations.不重复元素的全排列的第k个排列
集合[1,2,3,…,n]一共有n!种不同的排列按字典序列出所有的排列并且给这些排列标上序号我们就会得到以下的序列(以n=3为例)"123" "132" "213" "231" "312" "321"现在给出n和k,请返回第k个排列注意:n在1到9之间以下方法运行结果均正确无误,但是部分方法运行超时,仅仅提供思路参考方法一:通过套用回溯法基本框架获取排列结...
2019-08-30 19:23:23 150
原创 Leetcode:机器人从出发点到终点的行走的路径数目
题目描述一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start"的位置)。机器人每次向下或向右移动。机器人要到达地图的右下角。(终点,下图中的标记“Finish"的位置)。可以有多少种不同的路径从起点走到终点?上图是3×7大小的地图,有多少不同的路径?备注:m和n小于等于100思路:动态规划算法Java代码实现public class Solut...
2019-08-14 14:09:58 1067
原创 Leetcode:给出两个用字符串表示的二进制数,返回他们的和(也用字符串表示)
题目描述给出两个用字符串表示的二进制数,返回他们的和(也用字符串表示)例如:a ="11"b ="1"返回"100".Given two binary strings, return their sum (also a binary string).For example,a ="11"b ="1"Return"100".思路:按照二进制加法规则,从两个二进...
2019-08-14 13:36:41 882
原创 Leetcode: 给出两个单词word1和word2,找出将word1转换为word2所需的最少步骤数。
Given two wordsword1andword2, find the minimum number of steps required to convertword1toword2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:...
2019-08-12 13:07:49 1364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人