链表

1、删除链表中的节点

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。
现有一个链表–head=[4, 5, 1, 9],它可以表示为:
4 -> 5 -> 1 -> 9

示例:
输入:head = [4, 5, 1, 9], node = 5
输出:[4, 1, 9]

说明

  • 链表至少包含两个节点
  • 链表中所有节点的值都是唯一的
  • 给定的节点为非末尾节点并且一定是链表中的一个有效节点
  • 不要从你的函数中返回任何结果
class Solution:
    def deleteNode(self, node):
    	node.val = node.next.val
    	node.next = node.next.next
2、删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第n个节点,并且返回链表的头节点。

示例:
给定一个链表:1 -> 2 -> 3 -> 4 -> 5 和 n = 2,
当删除了倒数第二个节点后,链表变为 1 -> 2 -> 3 -> 5。

构建双指针p1与p2,p1先走n步,然后一同运动,当p1指向表尾,p2指向的next即是倒数第N个节点,删除即可。

class Solution:
    def removeNthFromEnd(self, head, n):
    	dummy = ListNode(0)
    	dummy.next = head
    	p1 = p2 = dummy
    	for i in range(n):
    	    p1 = p1.next
    	while p1.next:
    	    p1 = p1.next
    	    p2 = p2.next
    	p2.next = p2.next.next
    	return dummy.next
class Solution:
    def removeNthFromEnd(self, head, n):
    	if not head or n<1:
    	    return None
    	fast = head
    	slow = head
    	for i in range(n):
    	    if not fast:
    	    	return None
    	    fast = fast.next
    	if not fast:
    	    return head.next
    	while fast.next:
    	    fast = fast.next
    	    slow = slow.next
    	slow.next = slow.next.next
    	return head
3、删除列表中等于给定值val的所有节点

Given 1->2->3->4->5->3, val = 3, return the list as 1->2->4->5。

class Solution:
    def removeElements(self, head, val):
	if head == None:
	    return head
	dummy = ListNode(0)
	dummy.next = head
	pre = dummy
	while head:
	    if head.val == val:
	    	pre.next = head.next
	    	head = pre
	    pre = head
	    head = head.next
	return dummy.next
内容概要:本文详细探讨了基于樽海鞘算法(SSA)优化的极限学习机(ELM)在回归预测任务中的应用,并与传统的BP神经网络、广义回归神经网络(GRNN)以及未优化的ELM进行了性能对比。首先介绍了ELM的基本原理,即通过随机生成输入层与隐藏层之间的连接权重及阈值,仅需计算输出权重即可快速完成训练。接着阐述了SSA的工作机制,利用樽海鞘群体觅食行为优化ELM的输入权重和隐藏层阈值,从而提高模型性能。随后分别给出了BP、GRNN、ELM和SSA-ELM的具体实现代码,并通过波士顿房价数据集和其他工业数据集验证了各模型的表现。结果显示,SSA-ELM在预测精度方面显著优于其他三种方法,尽管其训练时间较长,但在实际应用中仍具有明显优势。 适合人群:对机器学习尤其是回归预测感兴趣的科研人员和技术开发者,特别是那些希望深入了解ELM及其优化方法的人。 使用场景及目标:适用于需要高效、高精度回归预测的应用场景,如金融建模、工业数据分析等。主要目标是提供一种更为有效的回归预测解决方案,尤其是在处理大规模数据集时能够保持较高的预测精度。 其他说明:文中提供了详细的代码示例和性能对比图表,帮助读者更好地理解和复现实验结果。同时提醒使用者注意SSA参数的选择对模型性能的影响,建议进行参数敏感性分析以获得最佳效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值