每 日 练 习



题目牛客网

一、题目

给定一个字符串比如“abcdef”,要求写个函数变成“defabc”,位数是可变的。

分析 首先,需要确定字符串的分割点。这个点可以是字符串长度的一半,也可以是任何选择的索引。 然后,可以将字符串前部分和后部分分别反转。
最后,将反转的后半部分和前半部分拼接一起。

如何实现代码
使用str.substring(0,n)从原始字符串str中提取从索引0开始到索引n-1的字符串substr1.
使用str.substring(n)从原始字符串str中提取从索引 n开始字符串末尾的字符串substr2.
使用StringBuilder对象调用reverse()方法来反转substr1得到reverse()1,substr2反转。

//方法
public static String shifString(String str ,int n){
	String substr1 = str.substring(0,n);
	String substr2 = str.substring(n);
	String re1 = new StringBuilder(substr1).reverse().toString();
	String re2=new StringBuilde(substr2).reverse().toString();
	return new StringBuilder(re1).append(re2).reverse().toString();
}

使用方法

二、选择题

1.执行以下程序,输出结果为()

l1 = [1,2]
l2 = [3,4]
print(id(l1) == id(l1.extend(l2)))

A.False

B.True

C.None

D.抛出异常

正确答案:A

在Python中,id() 函数返回对象的内存地址。extend()
方法用于将一个列表中的所有元素追加到另一个列表的末尾,这个方法会修改原列表,而不是创建一个新的列表。
首先,l1 是一个包含 [1, 2] 的列表。然后,创建了另一个列表 l2,包含 [3, 4]。调用 l1.extend(l2) 会将 l2 的元素追加到 l1 的末尾,结果 l1 变成了 [1, 2, 3, 4]。

由于 extend() 方法是就地修改 l1 的,它不会返回一个新的列表对象,而是返回 None。
因此,id(l1) 和id(l1.extend(l2)) 都是 l1 的内存地址,但因为 extend() 返回 None,所以 id(l1.extend(l2)) 实际上等同于 id(None)。

所以,id(l1) == id(l1.extend(l2)) 的比较实际上是 id(l1) == id(None),这显然是 False。

正确答案是 A: False。

2.下列关于 XGBoost 的说法,错误的是()
A.XGBoost 支持单颗树粒度的并行
B.XGBoost 支持特征抽样
C.XGBoost 在代价函数里加入了正则项
D.XGBoost 支持对缺失值的自动处理

正确答案是 A。

XGBoost 是一种基于梯度提升框架的集成学习算法,它具有以下特点:

B. XGBoost 支持特征抽样,这可以减少模型训练时的计算量,同时可以提高模型的泛化能力。

C. XGBoost 在其代价函数中加入了正则项,这有助于防止模型过拟合,正则项通常包括树的复杂度(例如树的深度和叶子节点的个数)。

D. XGBoost 支持对缺失值的自动处理,它使用一种称为“分裂寻找”的方法,在节点分裂时,如果特征值缺失,算法会尝试找到最佳的分裂点。

而 A 选项是错误的,因为 XGBoost 并不支持单颗树粒度的并行学习。
XGBoost的并行是在树的构建过程中实现的,即在构建多棵树时可以并行化,而不是在单棵树的构建过程中。这意味着在训练单个决策树时,XGBoost仍然是串行的。

总结

哇塞!每日坚持练习,不断提升自己的能力,加油加油!

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布说在见

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值