leetcode
风中跌倒丿不为风
来自南方的少年。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode刷题笔记:讯在峰值
啥也不说了,就是一个二分法;找中间值,然后先判断mid和mid+1的大小,mid<mid+1递归search(nums,mid+1,r);反之亦然。public class Solution { public int findPeakElement(int[] nums) { return search(nums,0,nums.length-1); } private int search(int[] nums,int l,int r){原创 2020-06-17 17:07:39 · 201 阅读 · 0 评论 -
linux学习笔记2020616:软件包管理,校检和文件管理
linux中能识别的两种包:源码包(c语言),二进制包(rpm,系统安装包)现在基本安装这个。一般用二进制包,因为不用像源码包那样去编译。rpm包管理在这里插入图片描述但是用rpm命令超级麻烦,因为安装会有很多个依赖所以就用yum命令rpm的查询是一个非常常用的方法!这个rpm查询不一定要进入安装依赖的路径,在任何位置依然可以查询已安装的依赖或者包也可以在rpm -qa后面加一个管道符| 查询包含有httpd字符的包重点:安装和升级不能用包名,而是要用包全名!注意:查询属原创 2020-06-16 13:21:20 · 245 阅读 · 0 评论 -
leetcode刷题笔记,和为 K 的最少斐波那契数字数目
class Solution {public int findMinFibonacciNumbers(int k) {List list = new ArrayList<>();list.add(1);list.add(1);int tmp = 0, res = 0;while (tmp <= k){int size = list.size();tmp = list.get(size - 1) + list.get(size - 2);list.add(tmp);}.原创 2020-06-15 12:01:00 · 238 阅读 · 0 评论 -
leetcode刷题笔记,缺失第一个正数
采用bitmap算法1、根据题目要求,最终结果肯定是1至n+1中的一个数;2、处理特殊情况,数组中没有1,数组长度为1;3、把小于1和大于n的不符合规范的转化为1;4、根据数组的值,把值对应的下标的数标记为负数;5、最后循环判断值的正负。class Solution { public int firstMissingPositive(int[] nums) { //处理数组长度为1的特殊情况 if (nums.length == 1) { .原创 2020-06-14 16:20:39 · 300 阅读 · 0 评论 -
leetcode刷题笔记,岛屿最大面积问题
思路,深度优先遍历法,遍历过后把原位置置为0.防止再次遍历原创 2020-06-13 12:19:42 · 386 阅读 · 0 评论 -
leetcode刷题笔记,0~n-1中缺失的数字
题目描述:二分法,根据对应索引,判断分解class Solution{ public int missingNumber(int nums[]){ int i = 0; int j=nums.length; while(i<=j){ int m = (i+j)/2; if(nums[m]==m) i= m+1; else j= m-1; } return i;}...原创 2020-06-11 20:01:36 · 229 阅读 · 0 评论 -
leetcode刷题笔记,高度检查器
class Solution { public int heightChecker(int[] heights) { //设置一个桶数组arr长度为101 int[] arr = new int[101]; for(int height:heights){//增强for循环,可理解为遍历heights中的数值,height从0开始计数 arr[height]++; } int count= 0;原创 2020-06-08 20:41:10 · 286 阅读 · 0 评论 -
leetcode刷题笔记,递减元素使数组呈锯齿状
代码引自leetcode题解库,我算是一个新手,先看懂代码为主。代码作者:slowbirdclass Solution { public int movesToMakeZigzag(int[] nums) { if (null == nums || nums.length == 0) return -1; if (nums.length == 1) return 0; // gap 表示当前元素与相邻元素的差值 /原创 2020-06-05 18:00:37 · 237 阅读 · 0 评论 -
leetcode刷题笔记:井字游戏
代码转自leetcode官方题库,作者:a_good_startclass Solution { public String tictactoe(String[] board) { boolean fill = true;//判断是否填满 boolean duijiao1 = board[0].charAt(0) == ' '?false:true; boolean duijiao2 = board[0].charAt(board.length -原创 2020-06-04 22:35:06 · 592 阅读 · 0 评论 -
leetcode刷题笔记,大小为 K 且平均值大于等于阈值的子数组数目
class Solution {public static int numOfSubarrays(int[] arr, int k, int threshold) { int sum = 0 ,account=0; int sumTarget = k*threshold; for (int i = 0; i < k; i++) { sum += arr[i]; } int adder = sum.原创 2020-06-04 18:27:49 · 285 阅读 · 0 评论 -
leetcode刷题笔记,将连续数组转换为平衡二叉树
该代码转自leetcode官方;首先,TreeNode结构为:public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) { val = x; }}看了半天,终于把它看懂了,首先生成的结果这是这个算法的答案。根据答案构建二叉树:由答案给出的顺序根据算法可以得出,递归更深层次的含义:1.首先第一个结果为0,毫无疑问,由下面的代码得出:int p= (left+right)/2TreeNode原创 2020-06-02 18:07:10 · 315 阅读 · 0 评论 -
leetcode刷题笔记,最大连续子数组之和
思路:max和now都指向数组的第一个元素,然后通过for循环依次更新max的值,now记录之前值累加和。然后now每加一次更新值以后就和max相比较,当now>max时,用now值更新max,若now<max,则max保持不变。循环结束,max就为最大子序和。...原创 2020-05-30 21:16:08 · 186 阅读 · 0 评论
分享