Test1
由bqjdzn7f创建,最终由bqjdzn7f 被浏览 94 用户
#102
def int_most(arr):
max_element = None
max_count = 0
current_element = None
current_count = 0
for element in arr:
if element == current_element:
current_count += 1
else:
current_element = element
current_count = 1
if current_count > max_count:
max_count = current_count
max_element = current_element
return max_element
# 示例用法
sorted_array = [1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 5]
result = int_most(sorted_array)
print("出现次数最多的元素是:", result)
#103
def re_duplicates(nums):
if not nums:
return 0
unique_count = 1 # 用于记录不重复元素的个数
for i in range(1, len(nums)):
if nums[i] != nums[i - 1]:
nums[unique_count] = nums[i]
unique_count += 1
return unique_count
# 示例用法
sorted_array = [1, 1, 2, 2, 2, 3, 4, 4, 5]
new_length = re_duplicates(sorted_array)
print("去重后的数组:", sorted_array[:new_length])
#104
def find_two_sum_count(nums, target):
count = 0 # 用于记录符合条件的情况数
left, right = 0, len(nums) - 1
while left < right:
current_sum = nums[left] + nums[right]
if current_sum == target:
count += 1
left += 1 # 移动左指针,寻找下一个可能的组合
right -= 1 # 移动右指针,寻找下一个可能的组合
elif current_sum < target:
left += 1 # 和太小,增加左边的数
else:
right -= 1 # 和太大,减小右边的数
return count
# 示例用法
sorted_array = [1, 2, 3, 4, 5, 6, 7, 8, 9]
target = 10
count = find_two_sum_count(sorted_array, target)
print("符合条件的情况数为:", count)
\