leetcode 岛屿的最大面积
岛屿的最大面积给定一个包含了一些 0 和 1 的非空二维数组 grid 。
一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。
找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)
示例 1:123456789[[0,0,1,0,0,0,0,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], [0,1,1,0,1,0,0,0,0,0,0,0,0], [0,1,0,0,1,1,0,0,1,0,1,0,0], [0,1,0,0,1,1,0,0,1,1,1,0,0], [0,0,0,0,0,0,0,0,0,0,1,0,0], [0,0,0,0,0,0,0,1,1,1,0,0,0], [0,0,0,0,0,0,0,1,1,0,0,0,0]]对于上面这个给定矩阵应返回 6。注意答案不应该是 11 ,因为岛屿只能包含水平或垂直的四个方向的 1 。
示例 2:12[[0,0,0,0,0,0,0,0]]对于上面这个给定的矩阵 ...
leetcode 买卖股票的最佳时机
买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。
注意:你不能在买入股票前卖出股票。
示例 1:123456输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。
示例 2:123输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
代码:99%,97%123456789101112131415161718192021class Solution { public int maxProfit(int[] prices) { if(prices==null||prices.leng ...
leetcode 二叉树的锯齿形层次遍历
二叉树的锯齿形层次遍历给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
例如:
1234567给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7
返回锯齿形层次遍历如下:
12345[ [3], [20,9], [15,7]]
代码:98%时 71%空12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> ls=new ArrayList<>(); ...
leetcode 合并K个升序链表
合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中,返回合并后的链表。
示例 1:12345678910输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6
示例 2:12输入:lists = []输出:[]
示例 3:12输入:lists = [[]]输出:[]
提示:
k == lists.length
0 <= k <= 10^4
0 <= lists[i].length <= 500
-10^4 <= lists[i][j] <= 10^4
lists[i] 按 升序 排列
lists[i].length 的总和不超过 10^4
代码:第一次提交1234567891011121314151 ...
leetcode 字符串压缩
字符串压缩字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。
示例1:12输入:"aabcccccaaa"输出:"a2b1c5a3"
示例2:123输入:"abbccd"输出:"abbccd"解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。
提示:
字符串长度在[0, 50000]范围内。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/compress-string-lcci
代码:100%时,77%空123456789101112131415161718192021222324class Solution { public String compressString(String ...
leetcode 最长公共前缀
最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 “”。
示例 1:12输入: ["flower","flow","flight"]输出: "fl"
示例 2:12输入: ["dog","racecar","car"]输出: ""
解释: 输入不存在公共前缀。说明:
所有输入只包含小写字母 a-z 。
代码:123456789101112131415161718192021222324252627282930313233class Solution { public String longestCommonPrefix(String[] strs) { if(strs==null||strs.length<=0)return ""; StringBuffer sb=n ...
安卓java 多线程交互更新UI
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647// 创建一个线程来连接数据库并获取数据库中对应表的数据new Thread(new Runnable() { @Override public void run() { // 调用数据库工具类DBUtils的getInfoByName方法获取数据库表中数据 HashMap<String, Object> map = Databaseutil.getInfoByName("hh"); Message message = handler.obtainMessage(); if(map != null){ String s = ""; for (Stri ...