首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

移掉 K 位数字

给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小,其中 解题思路 首先我们要了解一个关于数学的前置知识,对于两个相同长度的数字序列,最左边不同的数字决定了这两个数字的大小...,例如,对于 A = 1axxxA = 1axxx,B = 1bxxxB = 1bxxx,如果 a > b,则 A > B 基于此,我们可以知道,若要使得剩下的数字最小,需要保证靠前的数字尽可能小 如果使用暴力法...,那思路就是: 从左到右遍历 对于每一个遍历到的元素,前一个元素比当前元素大,则丢弃前一个元素,否则保留前一个元素 需要注意的是,如果给定的数字是一个单调递增的数字,那么我们的算法会永远选择不丢弃。...因此,对于每个数字,如果该数字小于栈顶元素,我们就不断地弹出栈顶元素,直到 栈为空 新的栈顶元素不大于当前数字 已经删除了 k 位数字 上述步骤结束后我们还需要针对一些情况做额外的处理: 如果我们删除了...m 个数字且 m<k,我们需要从序列尾部删除额外的 k-m 个数字 如果最终的数字序列存在前导零,我们要删去前导零 如果最终数字序列为空,我们应该返回 0 class Solution {

66750

移掉 K 位数字(LeetCode 402)

循环上面的操作,直到移除 K 位数字。 我们以 4258 为例,如果要求我们删除两个数字。 第一次遍历,找到第一个大于右边的数字,为 4,所以删除 4 剩下 258。...比如 108 删除一位数字,那么删除 1 后,最终返回前需要将前导 0 去掉。...因此,对于每个数字,如果该数字小于栈顶元素,我们就不断地弹出栈顶元素,直到 栈为空 或者新的栈顶元素不大于当前数字 或者我们已经删除了 k 位数字 然后入栈。...如果已经删除了 k 位数字,那么将栈中数字与剩余数字拼接,去掉前导零后返回。 如果还没有删除 k 位数字,则继续遍历后面的数字直到遍历完。...移掉 K 位数字 - LeetCode

11910

Leetcode 357: 统计各位数字都不同的数字个数

Leetcode 357: 统计各位数字都不同的数字个数 解法包括暴力解法和扩张方法。 暴力解法 直接对所有的数字求解,约为O(nlogn),目测必定超时,就不浪费时间了。...因此特殊的,定义dp[n-1][0]为第n位数为任意非0数时,n-1位为0时的重复数字个数 显而易见的是,dp[1][…]=0,长度为一位的时候不会有重复的数据。...最新的一位数据的内容主要包括两个方面: 之前已经重复的0:dp[n-1][0] = 10^{n-3} + \sum_{i\in Q_0}dp[n-2][i],包括最新的一个重复,加上之前的重复项目 更新完...其中Q_m表示个位数中除了m以外的集合,比如Q_1={0,2,3,…,9}。...因为不存在以0开头的数字。 数学方法 官方给的解法:含有d位数(2\geq d\leq 10)的各位数字都不同的数字x的个数可以由9\times A_{9}^{d-1}。

83510

Python3实现个位数字和十位数字对调, 其乘积不变

位数13和62具有很有趣的性质,把它们个位数字和十位数字对调, 其乘积不变, 即 13 * 62 31 * 26 编程序求共有多少对这种性质的两位数,个位与十位相同的不在此列 如11、22 重复出现的不在此列...100) continue # 已经解决了11、22 重复出现的不在此列 和 13*62与62*13不在队列 for j in range(i + 1, 100): #遍历出数字并找出个位和十位...给出一个3位的正整数,你需要将这个整数中每位上的数字进行反转。例如:输入: 123,输出: 321 。大家先不看下面答案,看看如果是自己,可以想出几种Python方式来解决!...下面分别来说说几种实现的方式: 1、整方式 class Test: def reverseInteger(self, number): g = number%10 #取出个位数...s = (int(number/10))%10 #取出十位数 b = int(number/100) #取出百位数 return g*100+s*10+b if __name

1.1K10

使用requests爬拉勾网python职位数

爬虫目的 本文想通过爬拉勾网Python相关岗位数据,简单梳理Requests和xpath的使用方法。...Requests简介 Requests是一款目前非常流行的http请求库,使用python编写,能非常方便的对网页Requests进行爬。..."utf-8" 5、利用xpath提取数据 # 构造一个xpath解析对象 selector = etree.HTML(r.text) # 职位编号,一页共有14个职位,所以这里可以传递0~13任意数字...p_require.strip(),"\n ".join(p_detail)] for i in p_list: print(i) 输出: 总结 本文使用requests和xpath工具对拉勾网python职位数据进行爬并解析...对于想翻页爬所有岗位信息,本文并无介绍。有兴趣的童鞋可以更改地址参数,对代码进行动态包装,尝试爬所有python岗位信息。

61930

PHP整函数区别

向下整floor----舍弃法整 返回一个不大于整的下个整数,就是返回一个小于value值的整数,5.9返回5,-1.6返回-2(小于value),返回值类型也是float 代码演示: <?...php var_dump(5.9);//float类型,返回值5 //测试一下负数 echo ""; var_dump(-1.6);//float类型,返回值-2,要小于-1.6的下一个整数 向上整...的下一个整数 浮点数四舍五入round 语法round($val[, int precision]),$val需要进行四舍五入的浮点数,或者赋值为浮点的变量,[, int precision]保留小数点几位数...省略保留的位数,默认不保留小数部分。 <?...php echo round(5.85121,1);//保留一位,进行四舍五入 echo ""; //当然也可以保留位数为负 echo round(12345.56,-2);保留到末尾两个0即保留到百位

1.6K30

PHP数字函数

函数可分为: 随机数函数 绝对值函数 最大最小值函数 整函数 余函数 平方次方函数 三角函数 进制转换函数 随机数函数 函数 说明 Rand($min,$max) 返回指定范围内的随机数 Mt_rand...($min,$max) 返回指定范围内的随机数(推荐使用) 绝对值函数 函数 说明 Abs($number) 返回数字的绝对值 最大最小值函数 函数 说明 Min() 返回最小值 Max() 返回最大值...整函数 函数 说明 Round($float) 四舍五入函数 Floor($float) 舍去取整函数 Ceil($float) 进一整函数 余函数 函数 说明 Fmod($x,$y) 余函数...(允许除数为0) 平方次方函数 函数 说明 Pow($base,$exp) 返回$base的$exp次方 Sqrt($number) 返回数字的平方根 三角函数 函数 说明 Deg2rad($number

1.2K10
领券