剑指46:把数字翻译成字符串 传送门nowcoderleetcode 题目描述有一种将字母编码成数字的方式:’a’->1, ‘b->2’, … , ‘z->26’。给一串数字,返回有多少种可能的译码结果。数据范围:字符串长度满足 0 < n < 90要求:时间复杂度 O(n),空间复杂度 O(n) C++ 代码 - nowcoder123456789101112131415161718192021 2021-02-01 #剑指
剑指45:把数组排成最小的数 传送门nowcoderleetcode 题目描述输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如:输入数组 { 3,32,321 } ,则打印出这三个数字能排成的最小数字为 321323。 C++ 代码 - nowcoder123456789101112131415161718192021222324252627282930313233343536 2021-02-01 #剑指
剑指44:数字序列中某一位的数字 传送门nowcoderleetcode 题目描述数字以 0123456789101112131415… 的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第 n 位对应的数字。 C++ 代码 - nowcoder123456789101112131415161718192021222324252627282930313 2021-02-01 #剑指
剑指43:1~n整数中1出现的次数 传送门nowcoderleetcode 题目描述输入一个整数 n ,求 1~n 这 n 个整数的十进制表示中 1 出现的次数。例如, 1~13 中包含 1 的数字有 1、10、11、12、13,共出现 6 次。 C++ 代码 - nowcoder1234567891011121314151617181920212223242526272829303132/* 根据最高位是否为 1,分两种情况 2021-02-01 #剑指
剑指42:连续子数组的最大和 传送门nowcoderleetcode 题目描述输入一个长度为 n 的整型数组,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。 C++ 代码 - nowcoder123456789101112131415161718192021222324252627282930313233343536373839404142/* 动态规划,连续上升子序列 时间复杂度: 2021-02-01 #剑指
剑指41:数据流中的中位数 传送门nowcoderleetcode 题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 C++ 代码 - nowcoder1234567891011121314 2021-02-01 #剑指
剑指40:最小的k个数 传送门nowcoderleetcode 题目描述给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数。例如:数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序)。数据范围:0 <= k, n <= 10000,数组中每个元素的大小 0 <= val <= 1000要求: 2021-01-31 #剑指
剑指39:数组中出现次数超过一半的数字 传送门nowcoderleetcode 题目描述给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如:输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字 2 在数组中出现了 5 次,超过数组长度的一半,因此输出 2。 C++ 代码 - nowcoder12345678910111213141516171819202122232425262 2021-01-31 #剑指
剑指38:字符串的排列 传送门nowcoderleetcode 题目描述输入一个长度为 n 字符串,(按字典序)打印出该字符串中字符的所有排列。例如:输入字符串 abc,按字典序打印出字符串 abc, acb, bac, bca, cab 和 cba。 C++ 代码 - nowcoder12345678910111213141516171819202122232425262728293031323334353637383 2021-01-31 #剑指
剑指37:序列化二叉树 传送门nowcoderleetcode 题目描述请实现两个函数,分别用来序列化和反序列化二叉树,不对序列化之后的字符串进行约束,但要求能够根据序列化之后的字符串重新构造出一棵与原二叉树相同的树。 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个 2021-01-31 #剑指