建设银行车主卡网上交罚款网站,网站icp备案证书下载,上海做产地证在哪个网站录入,知识库管理系统功能这里写目录标题 一、回文数#xff08;力扣第九题#xff09;二、剑指 Offer 39. 数组中出现次数超过一半的数字三、至少是其他数字两倍的最大数#xff08;leetcode第747题#xff0c;飞书三面#xff09;四、给定一有序整型数组#xff0c;其中存在有重复元素#xff… 这里写目录标题 一、回文数力扣第九题二、剑指 Offer 39. 数组中出现次数超过一半的数字三、至少是其他数字两倍的最大数leetcode第747题飞书三面四、给定一有序整型数组其中存在有重复元素求目标元素的区间或者求目标元素的左右边界五、整数反转 一、回文数力扣第九题
给你一个整数 x 如果 x 是一个回文整数返回 true 否则返回 false 。 回文数是指正序从左向右和倒序从右向左读都是一样的整数。 例如121 是回文而 123 不是。
示例 1 输入x 121 输出true 示例 2 输入x -121 输出false 解释从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3 输入x 10 输出false 解释从右向左读, 为 01 。因此它不是一个回文数。
def test11(x):ss str(x)if - in ss:return Falseleft 0rigjt len(ss) - 1while left rigjt:if ss[left] ss[rigjt]:left 1rigjt - 1else:return Falsereturn Truex 12321
print(test11(x))二、剑指 Offer 39. 数组中出现次数超过一半的数字
数组中有一个数字出现的次数超过数组长度的一半请找出这个数字。 你可以假设数组是非空的并且给定的数组总是存在多数元素。 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 输出: 2
思路 通过排序一行代码解决问题 既然数组中一定有一个数占比超过总数的一半那么当数组中的数排序后正中间的数一定有它。
def test12(nums):nums.sort()return nums[len(nums) // 2]nums [1, 2, 3, 2, 2, 2, 5, 4, 2]
print(test12(nums))三、至少是其他数字两倍的最大数leetcode第747题飞书三面
示例 1 输入nums [3,6,1,0] 输出1 解释6 是最大的整数对于数组中的其他整数6 至少是数组中其他元素的两倍。6 的下标是 1 所以返回 1 。
示例 2 输入nums [1,2,3,4] 输出-1 解释4 没有超过 3 的两倍大所以返回 -1 。
示例 3 输入nums [1] 输出0 解释因为不存在其他数字所以认为现有数字 1 至少是其他数字的两倍。
def test13(nums):if len(nums) 1:return 0res []for i in range(len(nums)):res.append([nums[i], i])res1 sorted(res, keylambda x: x[0], reverseTrue)print(res1)if res1[0][0] res1[1][0] * 2:return res1[0][1]return -1nums [1, 2]
print(test13(nums))四、给定一有序整型数组其中存在有重复元素求目标元素的区间或者求目标元素的左右边界
给定一有序整型数组其中存在有重复元素求目标元素的区间或者求目标元素的左右边界 例如ary [1,2,4,4,4,6,7]target 4; 则左边界为2右边界为4。
def test14(nums, target):return [nums.index(target), nums.index(target) nums.count(target) - 1]nums [1, 2, 4, 4, 4, 6, 7]
target 4
print(test14(nums, target))五、整数反转
给你一个 32 位的有符号整数 x 返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] 就返回 0。 假设环境不允许存储 64 位整数有符号或无符号。
示例 1 输入x 123 输出321
示例 2 输入x -123 输出-321
示例 3 输入x 120 输出21
示例 4 输入x 0 输出0
def reverseStr(num):if num -9 and num 9:return numstrs str(num)if len(strs) 0:return strsif strs[0] - or strs[0] :strs1 strs[1:][::-1]strs3 strs[0] strs1else:strs3 strs[::-1]num int(strs3)return numx -120
res reverseStr(x)
print(res)