1.列表操作练习题
列表lst 内容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
请写程序完成下列操作:
- 在列表的末尾增加元素15
- 在列表的中间位置插入元素20
- 将列表[2, 5, 6]合并到lst中
- 移除列表中索引为3的元素
- 翻转列表里的所有元素
- 对列表里的元素进行排序,从小到大一次,从大到小一次
lst=[2, 5, 6, 7, 8, 9, 2, 9, 9]
lst.append(15) #在列表的末尾增加元素15
lst.insert(round(len(lst)/2),20) #在列表的中间位置插入元素20
lst1 = [2, 5, 6]
lst += lst1 #将列表[2, 5, 6]合并到lst中
lst.pop(3) #移除列表中索引为3的元素
lst.reverse() #翻转列表里的所有元素
lst.sort() #从小到大排序
lst.sort(reverse=True) #从大到小排序
2.课后思考题
问题描述:
lst = [1, [4, 6], True]
请将列表里所有数字修改成原来的两倍
lst[0] =lst[0] *2
lst[1][0] = lst[1][0]*2
lst[1][1] = lst[1][1]*2
lst[2] = lst[2] * 2
3.leetcode练习题
如果一个数组k符合下面两个属性,则称之为山脉数组
数组的长度大于等于3
存在iii,iii >0 且i<len(k)−1i<\operatorname{len}(k)-1i<len(k)−1, 使得k[0]<k[1]<…<k[i−1]<k[j]>k[i+1]…>k[len(k)−1]\mathrm{k}[0]<\mathrm{k}[1]<\ldots<\mathrm{k}[\mathrm{i}-1]<\mathrm{k}[\mathrm{j}]>\mathrm{k}[\mathrm{i}+1] \ldots>\mathrm{k}[\operatorname{len}(\mathrm{k})-1]k[0]<k[1]<…<k[i−1]<k[j]>k[i+1]…>k[len(k)−1]
这个iii就是顶峰索引。
现在,给定一个山脉数组,求顶峰索引。
示例:
输入:[1, 3, 4, 5, 3]
输出:True
输入:[1, 2, 4, 6, 4, 5]
输出:False
class Solution {
public int peakIndexInMountainArray(int[] A) {
if (A==null || A.length<3){
return 0;
}
int max = 0;
int ans = 0;
for (int i =0;i<A.length;i++){
if (A[i]>max){
max = A[i];
ans = i;
}
}
return ans;
}
}