
编程题
code_AC
当你还不能写出自己满意的程序时,你就不要去睡觉。
展开
-
最小编辑距离
编程题:最小编辑距离题目描述给定两个字符串str1和str2,再给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,请输出将str1编辑成str2的最小代价。输入:“abc”,“adc”,5,3,2 输出:2输入:“abc”,“adc”,5,3,100 输出:8分析使用动态规划进行解题,dp[i][j]表示str1的i 位置转换成 str2的j 位置需要最小代价通过代码public int minEditCost (String原创 2020-09-22 19:20:11 · 227 阅读 · 0 评论 -
编程题—leetcode:148. 排序链表
题目链接题目描述在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5来源:力扣(LeetCode)链接:https:/...原创 2020-04-24 14:41:54 · 708 阅读 · 0 评论 -
编程题—LeetCode160. 相交链表
题目链接题目描述编写一个程序,找到两个单链表相交的起始节点。注意:如果两个链表没有交点,返回 null.在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/intersection-of-two...原创 2020-04-23 16:09:24 · 343 阅读 · 4 评论 -
编程题—leetcode229. 求众数 II—深入理解摩尔投票法
题目链接题目描述给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例 1:输入: [3,2,3]输出: [3]示例 2:输入: [1,1,1,3,3,2,2,2]输出: [1,2]来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl...原创 2020-04-23 15:25:24 · 321 阅读 · 0 评论 -
编程题—leetcode220:存在重复元素 III
题目链接题目描述给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。示例 1:输入: nums = [1,2,3,1], k = 3, t = 0输出: true示例 2:输入: nums = [1,0,1,1], k = 1, t = 2输出: tr...原创 2020-04-22 16:05:28 · 298 阅读 · 0 评论 -
编程题—leetcode78、90子集I、II
子集I题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]来源:力扣(LeetCode)链接:https://leetcode-cn.c...原创 2020-04-16 13:57:46 · 451 阅读 · 1 评论 -
2020网易笔试第四题
题目描述英雄与怪兽。更新二维数组中的值n*m的地图上,每个位置值为0或1,0表示怪兽,1表示英雄,对于每个英雄求出离他最近的怪兽的距离是多少,矩阵中每个位置离上下左右的距离都是1,若当前位置是怪兽,输出0即可,题目保证至少存在一只怪兽输入:第一行输入两个正整数 ,n,m接下来n行,每行输入m个数,从{0,1}中取值。表示每个位置的属性,其中1<=m,n<=1000例子:3 ...原创 2020-04-10 16:43:56 · 839 阅读 · 2 评论 -
编程题—leetcode:128. 最长连续序列
题目链接题目描述给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-consecutive...原创 2020-04-10 14:31:24 · 325 阅读 · 0 评论 -
编程题—leetcode300:最长上升子序列
题目链接题目描述给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) ...原创 2020-04-01 14:33:49 · 299 阅读 · 0 评论 -
编程题—leetcode198、213打家劫舍i ii
文章目录题目链接打家劫舍题目描述解题思路通过代码[打家劫舍 II](https://leetcode-cn.com/problems/house-robber-ii/)题目描述解题思路通过代码题目链接打家劫舍题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会...原创 2020-03-30 16:24:47 · 552 阅读 · 0 评论 -
编程题—不同路径
文章目录不同路径I题目描述题目解析通过代码不同路径II题目描述题目解析通过代码题目链接不同路径I不同路径II不同路径I题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例 1:输入: m = 3, n...原创 2020-03-25 19:18:20 · 586 阅读 · 0 评论 -
编程题—面试题56 - I. 数组中数字出现的次数
题目连接题目描述一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2] 限制:2 <= nu...原创 2020-03-24 16:49:32 · 320 阅读 · 1 评论 -
编程题—面试题48. 最长不含重复字符的子字符串
题目链接题目描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: ...原创 2020-03-24 15:55:05 · 395 阅读 · 0 评论 -
编程题—leetcode1143:最长公共子序列
题目链接题目描述给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序...原创 2020-03-18 00:04:03 · 503 阅读 · 0 评论 -
编程题—剑指offer: 二叉树中和为某一值的路径
题目链接题目描述输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。 示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 ...原创 2020-03-17 19:51:19 · 219 阅读 · 0 评论 -
编程题—leetcode42:接雨水
题目链接题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6来源:力扣(L...原创 2020-03-14 16:58:50 · 309 阅读 · 0 评论 -
编程题—leetcode54:二叉搜索树的第k大节点
题目链接题目描述给定一棵二叉搜索树,请找出其中第k大的节点。 示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 4示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ ...原创 2020-03-13 15:43:56 · 364 阅读 · 0 评论 -
算法题—leetcode328:奇偶链表
题目链接题目描述给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3-&...原创 2020-03-13 14:18:56 · 379 阅读 · 0 评论 -
编程题—矩阵中的路径
题目链接题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径...原创 2020-03-12 14:13:58 · 439 阅读 · 0 评论 -
编程题—机器人的运动范围
题目链接题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?解题思路1、从(0,0)点...原创 2020-03-11 17:15:12 · 433 阅读 · 0 评论 -
编程题—数组中的逆序对
题目链接题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%10...原创 2020-03-11 13:17:31 · 576 阅读 · 0 评论 -
编程题—连续子数组最大和
题目链接题目描述输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。输入描述:【重要】第一行为数组的长度N(N>=1)接下来N行,每行一个数,代表数组的N个元素输出描述:最大和的结果示例1输入81-2310-472-5输出18说明最大子数组为 3, 10, -4, 7, 2import...原创 2020-03-08 19:21:18 · 470 阅读 · 0 评论