2 悠闲是蓝蓝

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 27w+

每日算法:数组中最长的山脉

原题//先找到比左右两侧大的数 然后以这个数为中心 依次找到左右的长度class Solution { public int longestMountain(int[] A) { if (A == null || A.length <= 2) { return 0; } int res = 0; for (int i = 1; i < A.length - 1; i++) {

2020-10-25 12:07:48

自动亮度调节3:信息熵,均值方差

图像的熵:反映了图像包含的信息量 1)当图像为纯色图时(纯白,纯黑图),图像只包含一个灰度值,此时熵最小,H=0(见定理3),图像的信息量为0。 因为图像为纯色时(灰度为一个值),也就说明图像不包含任何地物目标,信息量为0。(类似于空白地图) 2)当图像包含N个灰度值时,即图像每个像素的灰度值都不同,此时熵最大,H=logN,图像的信息量最大。 因为此时,图像每个像素灰度都不同,可以认为图像每个单一像素都是一个独立地物目标,信息量为最大N。(类似于

2020-10-24 22:34:52

自动亮度调节2:版本1+python类

import cv2 as cvimport numpy as npimport osimport mathfrom PIL import Image, ImageStat, ImageEnhanceimport sysclass image_quality_controller: def __init__(self): self.exposure = 40 # [0 - 100] self.exposure_step = 10

2020-10-24 19:44:41

自动亮度调节1:python openCV库的简单使用

参考链接:openCV库的基本使用# -*- coding: utf-8 -*-# @Author: Xingmo import cv2import numpy as np # 读取图片: cv2.imread(路径,num) 其中num=0,为灰度图像;num=1为彩图img = cv2.imread('002.jpg',0) # 创建窗口,cv2.namedWindow(窗口名)cv2.namedWindow('image') # 保存图片,cv2.imwrite(保存图片名

2020-10-24 19:04:49

每日算法:贪心

题目输入:clips = [[0,4],[2,8]], T = 5输出:2解释:注意,你可能录制超过比赛结束时间的视频。class Solution { public int videoStitching(int[][] clips, int T) { int point = 0; int sum = 0; int cnt = 0; //剪辑次数不能超过T次; while (point < T &am

2020-10-24 18:04:27

每日算法:链表,快慢指针,反转链表

判断一个链表是否为回文链表。class Solution { public boolean isPalindrome(ListNode head) { if (head == null || head.next == null) { return true; } ListNode fast = head; ListNode slow = head; // 快慢指针 while(f

2020-10-23 08:19:53

每日算法:二叉树

二叉树的最小绝对值class Solution { private int res = Integer.MAX_VALUE; TreeNode pre = null; public int getMinimumDifference(TreeNode root) { //二叉查找树中,中间节点的值一定是其左右节点值的中间数,因此最小差别一定是在中间节点与左右节点之间 getMin(root); return res; }

2020-10-12 07:47:05

每日算法:环形链表的判断

快慢指针public class Solution { public boolean hasCycle(ListNode head) { //快慢指针 ListNode fast=head; ListNode slow=head; while(fast!=null&&fast.next!=null){ fast=fast.next.next; slow=slow.next

2020-10-09 07:27:20

每日算法:弗洛伊德算法

原题class Solution { public int[] sumOfDistancesInTree(int N, int[][] edges) { final int INF = 0x3f3f3f3f; int [][]graph=new int[N][N]; for(int i=0;i<N;i++){ Arrays.fill(graph[i],INF);// } for(int [

2020-10-06 10:02:39

每日算法:中序后序创建树

算法地址其实思路比较好想到,就是如何划分子问题,然后递归的构建左子树和右子树。 inorder = [9,3,15,20,7] postorder = [9,15,7,20,3]因为后序后遍历根节点,后续最后一个节点为整棵树的根节点,可以确定根节点为3;再根据中序得到: leftInOrder = [9]RightInOrder = [15, 20 ,7] 又由于中序和先序的数组大小应该相同的, 所以, LeftPostOrder = [9] RightPostOrder = [15, 7, 20]

2020-09-25 06:38:56

每日算法:优先队列

链接前 K 个高频元素给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]class Solution { public int[] topKFrequent(int[] nums, int k) { Map<Integer, Integer> occurrences = new HashM

2020-09-07 08:01:40

每日算法:贪心

题目1353. 最多可以参加的会议数目给你一个数组 events,其中 events[i] = [startDayi, endDayi] ,表示会议 i 开始于 startDayi ,结束于 endDayi 。你可以在满足 startDayi <= d <= endDayi 中的任意一天 d 参加会议 i 。注意,一天只能参加一个会议。请你返回你可以参加的 最大 会议数目。class Solution { public int maxEvents(int[][] events)

2020-09-04 08:21:46

每日算法:n皇后,dfs,回溯

题目class Solution { List<List<String>>res; int n; boolean []col;//记录某列是否放置皇后 boolean []main1;//对角线 boolean []sub;//副对角线 public List<List<String>> solveNQueens(int n) { res=new ArrayList<>();

2020-09-03 08:06:46

每日一题:动态规划

题目486. 预测赢家给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。示例 1:输入:[1, 5, 2]输出:False解释:一开始,玩家1可以从1和2中进行选择。如果他选择 2(或者

2020-09-02 08:07:49

每日算法:优先队列+递归

题目332. 重新安排行程给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。说明:如果存在多种有效的行程,你可以按字符自然排序返回最小的行程组合。例如,行程 [“JFK”, “LGA”] 与 [“JFK”, “LGB”] 相比就更小,排序更靠前所有的机场都用三个大写字母表示(机场代码)。假定所有机票至少存在一种合理的行程。

2020-08-27 08:01:23

每日算法:回溯

原题17. 电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。class Solution { public List<String> letterCombinations(String digits) { List<String> list = new ArrayList<>(); if (digits == null || digits.length() == 0) {

2020-08-26 07:48:54

每日算法:回溯

原题491. 递增子序列给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]class Solution { public List<List<Integer>> findSubsequences(int[] nums) {

2020-08-25 07:37:55

每日算法:满二叉树

原题求出所有有N个节点的满二叉树class Solution { public List<TreeNode> allPossibleFBT(int N) { List<TreeNode> res=new ArrayList<>(); if (N%2==0) { return res; } if(N==1){ TreeNode root=new Tre

2020-08-25 07:35:41

每日算法:dfs,二叉树

题目971. 翻转二叉树以匹配先序遍历class Solution { int i=0; boolean flag; List<Integer>res=new ArrayList<>(); public List<Integer> flipMatchVoyage(TreeNode root, int[] voyage) { dfs(root,voyage); if(flag){ L

2020-08-24 07:22:13

每日算法:动态规划

题目413. 等差数列划分如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。A = [1, 2, 3, 4]返回: 3, A 中有三个子等差数组: [1, 2, 3], [2, 3, 4] 以及自身 [1, 2, 3, 4]。class Solution { public int numberOfArithmeticSlices(int[] A) { int res=0; if(A==null||A.length<2)re

2020-08-23 07:39:39

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。