分类 Python教程 下的文章 - 第 4 页 - 网络编程与渗透技术笔记
首页
Search
1
Java编程小练习题目
22 阅读
2
Centos7.9系统如何换国内镜像源?
18 阅读
3
用Java编写九九乘法口诀表
17 阅读
4
全开源图床系统源码
17 阅读
5
PHP在线加密系统源码
17 阅读
Kali Linux
综合渗透注入
网站搭建与运维
编程开发
Java教程
Go教程
PHP教程
Python教程
MySQL
工具与脚本
网安竞赛
源码文件
漏洞百科
iAPP
登录
/
注册
找到
69
篇与
Python教程
相关的结果
- 第 4 页
2024-05-13
LeetCoe算法题:三数之和
题目内容: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 : 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]] 解释: nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。 nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。 nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。 不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。 注意,输出的顺序和三元组的顺序并不重要。 答案: def threeSum(nums): nums.sort() # 对数组进行排序 res, k = [], 0 for k in range(len(nums) - 2): if nums[k] > 0: break # 因为已经排序,所以如果当前数字大于0,则三数之和一定大于0,所以结束循环 if k > 0 and nums[k] == nums[k - 1]: continue # 去重 i, j = k + 1, len(nums) - 1 while i < j: # 双指针法 s = nums[k] + nums[i] + nums[j] if s < 0: i += 1 while i < j and nums[i] == nums[i - 1]: i += 1 # 去重 elif s > 0: j -= 1 while i < j and nums[j] == nums[j + 1]: j -= 1 # 去重 else: res.append([nums[k], nums[i], nums[j]]) i += 1 j -= 1 while i < j and nums[i] == nums[i - 1]: i += 1 # 去重 while i < j and nums[j] == nums[j + 1]: j -= 1 # 去重 return res nums = [-1,0,1,2,-1,-4] print(threeSum(nums))
编程开发
Python教程
# 编程开发
红帝
1年前
0
3
0
2024-05-13
LeetCode算法题:盛放最多水的容器
题目内容: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 : 输入:[1,8,6,2,5,4,8,3,7] 输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 答案: def maxArea(height): left = 0 right = len(height) - 1 max_water = 0 while left < right: # 计算当前左右指针构成的容器的水量 area = min(height[left], height[right]) * (right - left) # 更新最大水量 max_water = max(max_water, area) # 移动指针 if height[left] < height[right]: left += 1 else: right -= 1 return max_water height = [1, 8, 6, 2, 5, 4, 8, 3, 7] print(maxArea(height)) # 输出应为 49
编程开发
Python教程
# 编程开发
红帝
1年前
0
4
0
2024-05-13
LeetCode算法题:移动零
题目内容: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 : 输入: nums = [0,1,0,3,12] 输出: [1,3,12,0,0] 答案: def move_zeroes(nums): # 初始化一个指针指向非零元素的下一个位置 write_index = 0 # 遍历数组 for read_index in range(len(nums)): # 如果当前元素不是0 if nums[read_index] != 0: # 将当前元素放到write_index的位置 nums[write_index] = nums[read_index] # 将write_index向前移动一位 write_index += 1 # 遍历结束后,write_index之后的位置都应该是0 # 因为我们只需要保证非零元素在write_index之前,所以直接在后面填充0即可 for i in range(write_index, len(nums)): nums[i] = 0 nums = [0, 1, 0, 3, 12] move_zeroes(nums) print(nums) # 输出应该是 [1, 3, 12, 0, 0]
编程开发
Python教程
# 编程开发
红帝
1年前
0
4
0
2024-05-12
LeetCode算法题:最长连续序列
题目内容: 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 : 输入:nums = [100,4,200,1,3,2] 输出:4 解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。 答案: def longestConsecutive(nums): if not nums: return 0 # 使用集合存储数组中的元素,以便进行快速查找 num_set = set(nums) longest_streak = 0 # 遍历集合中的每个元素 for num in num_set: # 如果当前数字的前一个数字已经在集合中,说明当前数字不是序列的起点 # 跳过它,因为我们已经处理过它作为序列的下一个数字 if num - 1 in num_set: continue # 计算当前数字所在序列的长度 current_num = num current_streak = 1 while current_num + 1 in num_set: current_num += 1 current_streak += 1 # 更新最长序列长度 longest_streak = max(longest_streak, current_streak) return longest_streak # 示例 nums = [100, 4, 200, 1, 3, 2] print(longestConsecutive(nums)) # 输出应为 4
编程开发
Python教程
# 编程开发
红帝
1年前
0
4
0
2024-05-12
LeetCode算法题:字母异位词分组
题目内容: 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 : 输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"] 输出: [["bat"],["nat","tan"],["ate","eat","tea"]] 题目答案: def groupAnagrams(strs): anagrams = {} for word in strs: # 对每个单词进行排序,然后作为字典的键 sorted_word = ''.join(sorted(word)) # 如果这个键已经存在于字典中,就将这个单词添加到对应的列表中 # 否则,创建一个新的列表,并将这个单词添加到其中 if sorted_word in anagrams: anagrams[sorted_word].append(word) else: anagrams[sorted_word] = [word] # 返回结果列表 return list(anagrams.values()) # 测试 strs = ["eat", "tea", "tan", "ate", "nat", "bat"] print(groupAnagrams(strs))
编程开发
Python教程
# 编程开发
红帝
1年前
0
8
0
上一页
1
...
3
4
5
...
14
下一页
易航博客