07 2019 档案
摘要:最近的几次笔试中,常常遇到一些输入的问题。下面说明一下几种情况。 1. 第一种就是常见的,输入数字序列,用空格分隔开,直到回车结束。这个之前一开始遇到的时候都是利用getline直接作为字符读入一行处理,这样其实在做转换的时候是很浪费时间的。总结了其他人的方法,代码如下: 2. 第二种就是一些字符串
阅读全文
摘要:题目描述: 链接:https://www.nowcoder.com/questionTerminal/e3fc4f8094964a589735d640424b6a47来源:牛客网假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙
阅读全文
摘要:题目描述: 链接:https://www.nowcoder.com/questionTerminal/52f25c8a8d414f8f8fe46d4e62ef732c来源:牛客网小多想在美化一下自己的庄园。他的庄园毗邻一条小河,他希望在河边种一排树,共 M 棵。小多采购了 N 个品种的树,每个品种的
阅读全文
摘要:题目描述: 有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。 示例1 输入: 72106547548473106236 982161082972751393 输出: 70820244829634538040848656466105986748 输入:
阅读全文
摘要:题目描述: 链接:https://www.nowcoder.com/questionTerminal/005af31a10834b3688911463065ab47d来源:牛客网A 国的手机号码由且仅由 N 位十进制数字(0-9)组成。一个手机号码中有至少 K 位数字相同则被定义为靓号。A 国的手机
阅读全文
摘要:题目描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 说明: 思路分析: 之前刷题的思路通常都是看
阅读全文
摘要:题目描述: 班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。 给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] =
阅读全文
摘要:二分法: 二分的思想很直观,就不断做折半,但这里注意需要设置一个精度来替代0,由于开根号并不一定保证能够开方取尽。这里取limit = 0.00002。 牛顿法: 设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0
阅读全文
摘要:题目描述: 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从
阅读全文
摘要:题目描述: 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。 示例 1: 输入: "12"输出: 2解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。示例 2: 输入: "
阅读全文
摘要:题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root = [
阅读全文
摘要:题目描述: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例
阅读全文
摘要:题目描述: 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, val
阅读全文
摘要:题目描述: 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 思路分析: 路径问题常规想到的就是用搜索解决。这道题用到了dfs,用递归完成。对于每个结点,计算其左右子树的贡献值,更新当前的
阅读全文
摘要:一、二叉树的层次遍历 1. 非递归实现:利用队列,存储每一层次的结点进队列,再通过出队操作完成层次遍历。 代码: 2. 递归实现:这里的递归用到了搜索中的bfs。递归函数中需要一个level参数,来确定当前的访问层级。若当前的层级大于等于res数组中的总大小,说明到达新层,需要添加新层。 代码: 二
阅读全文
摘要:题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例1: 思路分析: 思路一:最简单的想法,用空间换时间,由于两个数组已
阅读全文
摘要:题目描述: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 思路分
阅读全文
摘要:题目描述: 请实现两个函数,分别用来序列化和反序列化二叉树 思路分析: 这里一开始有点不明白题目的意思。实际上序列化应该指把二叉树用某种编码方式表示,这里一般是字符串的形式。而反序列就是将之前生成的序列转化成二叉树。 常规的想法里面,编码二叉树无非就是前序、中序、后序或是层次,但是我们都直到前序遍历
阅读全文
摘要:题目描述: 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为
阅读全文
浙公网安备 33010602011771号