ICode9

精准搜索请尝试: 精确搜索
  • 【LeetCode-链表】二叉树展开为链表2020-07-05 16:05:51

    题目描述 给定一个二叉树,原地将它展开为一个单链表。 示例: 例如,给定二叉树 1 / \ 2 5 / \ \ 3 4 6 将其展开为: 1 \ 2 \ 3 \ 4 \ 5 \ 6 题目链接: https://leetcode-cn.com/problems/flatten-binary-tr

  • Leetcode-300. 最长上升子序列2020-07-04 23:41:33

    给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。 来源:力扣(LeetC

  • Leetcode Z字形变换2020-07-04 19:04:24

    Z子变换 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。 来源:力扣(LeetC

  • LeetCode#415-字符串相加2020-07-04 14:05:39

    /* 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包含任何前导零。 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。 */ public class p

  • 【LeetCode-动态规划】零钱兑换 II2020-07-04 11:03:07

    题目描述 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例: 输入: amount = 5, coins = [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 5=5 5=2+2+1 5=2+1+1+1 5=1+1+1+1+1 输入: amount = 3, coins = [2]

  • 【LeetCode】剑指 Offer 04. 二维数组中的查找2020-07-03 19:39:02

    二维数组查找:线性查找法 有二维数组: [  [1,   4,  7, 11, 15],  [2,   5,  8, 12, 19],  [3,   6,  9, 16, 22],  [10, 13, 14, 17, 24],  [18, 21, 23, 26, 30]]应该从位置最后一行第一个数字(18)出发 如果该位置比目标大,代表该行剩下部分没有目标,则寻找上一行 如果

  • LeetCode 108. 将有序数组转换为二叉搜索树 | Python2020-07-03 18:39:19

    108. 将有序数组转换为二叉搜索树 题目 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],

  • LeetCode#468-验证是ipv4还是ipv6地址2020-07-03 12:37:03

    /* 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1; 同时,IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。 IPv6 地址由8

  • leetcode——88.合并两个有序数组2020-07-03 11:35:26

    还可以; public void merge(int[] nums1, int m, int[] nums2, int n) { if(m == 0){ if (n >= 0) System.arraycopy(nums2, 0, nums1, 0, n); return; } int k = nums1.length-1,i = m-1,j = n-1; while (i>=0

  • Leetcode 61. 旋转链表2020-07-02 13:05:10

    给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: 1->2->3->4->5->NULL, k = 2 输出: 4->5->1->2->3->NULL 解释: 向右旋转 1 步: 5->1->2->3->4->NULL 向右旋转 2 步: 4->5->1->2->3->NULL 示例 2: 输入: 0->1->2-&

  • LeetCode 378. 有序矩阵中第K小的元素 Java2020-07-02 12:01:56

    容易想到的暴力解法:把数据都取出来排序,需要n2大小的数组存储 既然数组是有序的,把每一行看成一个有序数组,对这些数组进行归并排序,归并到第k个数为止。 看了题解,了解到优先级队列PriorityQueue可以用于实现归并排序,PriorityQueue底层是一个堆的结构。具体可参考这篇文章 刷算法不知

  • leetcode刷题笔记四十五 跳跃游戏II2020-07-01 23:04:43

    leetcode刷题笔记四十五 跳跃游戏II 源地址:45. 跳跃游戏 II 问题描述: 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳

  • LeetCode 面试题 16.10. 生存人数 动态规划2020-07-01 11:37:49

    LeetCode 面试题 16.10. 生存人数 文章目录LeetCode [面试题 16.10. 生存人数](https://leetcode-cn.com/problems/living-people-lcci/)一、题干二、示例三、提示四、解答思路:动态规划1. 先根据数据计算各年出生与死亡的人数2. 根据每年的出生与死亡人数的数量计算每一年

  • leetcode-1494-并行课程2020-07-01 09:03:07

    题目描述:            方法:动态规划+状态压缩 class Solution: def minNumberOfSemesters(self, n: int, dependencies: List[List[int]], k: int) -> int: dep = {} # 记录依赖于某节点的节点列表 for a, b in dependencies: if a

  • LeetCode 831. 隐藏个人信息2020-06-30 12:02:09

    1. 题目 给你一条个人信息字符串 S,它可能是一个 邮箱地址 ,也可能是一串 电话号码 。 我们将隐藏它的隐私信息,通过如下规则: 电子邮箱 定义名称 name 是长度大于等于 2 (length ≥ 2),并且只包含小写字母 a-z 和大写字母 A-Z 的字符串。 电子邮箱地址由名称 name 开头,紧接着是

  • Leetcode 822. 翻转卡片游戏 (博弈论)2020-06-29 20:02:53

    题目链接 做法:最近学了一波SG函数,想在LC上找几个练练手,发现都是思维级别的博弈论 用不到SG函数。 其实就是当一张卡片的正面和反面都是一样的时候 这个值就不能被当作答案,否则 其他数都可以被当作答案。取最小即可。 代码: class Solution { public: int flipgame(vector

  • leetcode 简单题 13. 罗马数字转整数2020-06-28 19:05:36

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + 

  • LeetCode 1293. 网格中的最短路径(DP/BFS)2020-06-28 15:36:34

    1. 题目 给你一个 m * n 的网格,其中每个单元格不是 0(空)就是 1(障碍物)。 每一步,您都可以在空白单元格中上、下、左、右移动。 如果您 最多 可以消除 k 个障碍物,请找出从左上角 (0, 0) 到右下角 (m-1, n-1) 的最短路径,并返回通过该路径所需的步数。 如果找不到这样的路径,则返回

  • leetcode 263. Ugly Number2020-06-28 09:51:56

    https://www.cnblogs.com/grandyang/p/4741934.html class Solution { public: bool isUgly(int num) { if(num<=0) return false; while(num%2==0) num/=2; while(num%3==0) num/=3; while(num%5==0) num/=5; return num==1

  • leetcode题解之39. 组合总和2020-06-27 23:03:55

    给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。  示例 1: 输入: candidates = [2,3

  • 【LeetCode】【Math】Sum of square numbers2020-06-27 22:05:39

    【题目】 给定非负整数c,本题的任务是判断是否存在整数a和b,使得a2+b2=c。 Example 1: Input: 5 Output: True Explanation: 1 * 1 + 2 * 2 = 5   Example 2:   Input: 3 Output: False【解法】暴力破解列出所有a和b的和,并与c比较。a和b的值在(0,sqrt(c))之间。参考解法(Java版本)也是

  • leetcode-41-缺失的第一个正数2020-06-27 21:53:21

    题目描述:    方法一:原地哈希 class Solution: def firstMissingPositive(self, nums: List[int]) -> int: n = len(nums) for i in range(n): if nums[i] <= 0: nums[i] = n + 1 for i in range(n):

  • 【leetcode-数组】有序矩阵中第K小的元素2020-06-27 16:39:22

    题目: 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。 请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。   示例: matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15] ], k = 8, 返回 13。   提示: 你可以假设 k

  • LeetCode—找不同(排序+数组+位运算+求和运算)2020-06-27 16:37:30

    找不同(简单) 2020年6月26日 题目来源:力扣 解题 排序 class Solution { public char findTheDifference(String s, String t) { char[] sarray=s.toCharArray(); char[] tarray=t.toCharArray(); Arrays.sort(sarray); Arrays.sort(ta

  • Leetcode——链表和数组(5)2020-06-27 10:55:52

    地下城游戏 一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有