LeetCode27(移除元素)
每日一题——LeetCode27(移除元素)题目
27.移除元素
难度:简单
给你一个数组 nums 和一个值 val,你需要 *原地* 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 ****原地 **修改输入数组**。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
方法一:暴力解法(搞笑的,天真了)我尽然第一个想到的是python中列表的remove()函数,我还以为我秀了leecode一脸(心理想,TM的这莫简单,还让老子设计算法)最后还是我天真了!
所以一定要注意:数组元素是不能删除的,只能覆盖
方法二:双指针法(正式解法)讲解视频双指针解决删除列表中的元组-CSDN直播
12345678910class Solution: def removeElement(self, nums: List[int], val: int) -> int: fast = 0 low = 0 while fast < len(nums): ...
LeeCode24(交换链表)
LeetCode 24:交换链表快来点我去练习——-GO
题意两两交换链表相邻节点的值,返回交换后的链表。
示例输入:head = [1, 2, 3, 4]
输出: [2, 1, 4, 3]
题目解析水题,难度中等。
这道题要求不能只是单纯的改变节点内部得值,需要进行实际的节点交换。
和反转链表一样,这类链表题思维上没有难度,就是每次从链表上截取两个节点进行交换。
主要是考察代码实现能力。
这道题我用带虚拟头节点的单链表实现。
虚拟头节点(其实我以前都叫头节点我就叫虚拟头节点),可能很多人叫做哨兵节点,放在第一个元素的节点之前,数据域一般没意义。
图解先建立一个带虚拟头节点的单链表。PS:此处代码为 Python(”代码实现“小节处有 Java 代码,下同)。
链表节点类1234567class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next### 创建虚拟节点dummyHead = ListNode(-1)
因为每 ...
Hexo+github搭建个人博客
Hexo+github搭建个人博客,并绑定域名
本篇教程完整讲述了如何利用Hexo+github搭建个人博客并且绑定自己的域名,成为自己的网站!
我的博客网站:www.wushishu.xyz---------------------------------(备用wushishu.github.io)
教程参考了很多互联上的内容,在美化教程上面可以根据自己的审美,不必全部照搬~
在搭建博客的路上有很多bug出现,一定请大家耐心的调试,最终胜利是属于我们的
本文作者:马思硕————————————————————–最近更新时间2022/5/6
关注公众号马思硕————————–回复博客————————-即可获得博客PDF文件
第一部分视频学习链接:https://www.bilibili.com/video/BV1mU4y1j72n?spm_id_from=333.337.search-card.all.click
视频中的网址失效了,在本文下面给你最新的博客教程
安装并配置Node.jsNode.js下载:【它让JavaScript成为与PHP、Python ...
从高中到大学 寻找真实的自己(转载)
从高中到大学 寻找真实的自己(转载)本文为转载自——CSDN博主「一只倔强的小bug」,文末附文章原链接
写在前面这是这个寒假刚开始在CSDN上写博客的时候发的第一个blink,当时想说的话有点多,但blink的文字限制是1024字,所以那时控制了字数,现在放开重新写。
写在正文因为疫情原因在家上了差不多3个月的网课,大一回来过个寒假,再次回到学校已经快成了大二,网课生涯,从寒晚冬到炎初夏,本来很幸运选上的羽毛球课上成了体育与健康讨论课,每节课换一个讨论话题,大学物理实验做成虚拟实验(实在不理解为什么计算机与软件学院的学生要学大学物理和大学物理实验实验这两门课),平常上课摸鱼和划水变得简单,就像是完成任务一样,不开摄像头的日子,变换着地点和姿势听着网课,Ctrl+C变得更加重要,不得不让人想起高中别样的生活。
中学生涯经常思考这样一个问题,我到底在干些什么?我想要什么?我在追求什么?我所努力奋斗的目标是什么?为什么我需要考上一所好大学?每个人的成长经历不一样,每个人的想法也不一样。就我而言,我的梦想就是,能在将来的某个时候帮助到很多人,为很多人提供一个成长的平台,给予有需要的人服务。这 ...
LeeCode203(移除链表元素)
每日一题——LeeCode203(移除链表元素)203.移除链表元素
难度:简单
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
示例 1:
12输入: head = [1,2,6,3,4,5,6], val = 6输出: [1,2,3,4,5]
示例 2:
12输入: head = [], val = 1输出: []
示例 3:
12输入: head = [7,7,7,7], val = 7输出: []
思路:链表理论基础链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域,另一个是指针域(存放指向下一节点的指针),最后一个节点的指针指向NULL(空指针)。
链表的入口点称为链表的头节点,也就是head.
删除节点:
添加节点:
链表与数组的性能分析:
用python定义链表链表节点的定义,很多同学在面试的时候都写不好。
这是因为平时在刷leetcode的时候,链表的节点都默认定义好了,直接用就行了,所以同学们都没有注意到链表的节点是如何定义的。
而在面 ...
LeeCode704(二分查找)
每日一题——LeeCode704(二分查找)
日常寒暄幸福的时候回忆痛苦格外幸福,痛苦的时候回忆幸福格外痛苦!
简单题我重拳出击,中等题我翻找手套,困难题我铺好床垫
704. 二分查找难度:简单(这几天比较忙~)
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
示例 1:
1234输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4复制代码
示例 2:
1234输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1复制代码
思路:第一种写法,我们定义 target 是在一个在左闭右闭的区间里,也就是[left, right] (这个很重要非常重要)。
区间的定义这就决定了二分法的代码应该如何写,因为定义target在[left, right]区间,所以有如下两点:
while (left < ...
Python应用实践——设计一个学生管理系统
项目要求 设计一个学生管理系统关联的主要课程目标: Python 函数和模块、Python文件的数据读取及操作等。
项目要求:设计一个学生管理系统,实现学生基本信息(学号、姓名、性别)的录入、删除和查看、读取及保存功能。
项目指导:可将学生管理系统分为六个小模块:添加学生信息模块、删除学生信息模块、显示所有学生信息模块、保存数据模块、恢复数据模块、退出系统模块等。每个功能模块用函数来实现。
定义一个全局变量***用于存储所有学生的信息,利用列表存储。
定义一个打印功能菜单的函数,用于提示用户(1,2,3,4,5,0)功能选择。
定义一个用于添加学生信息的函数,在该函数中用于输入学生的信息(学号、姓名、性别),使用字典存储每个学生的具体信息,并添加到全局变量***列表中。
定义一个用于删除学生信息的函数,在该函数中提示用户输入要删除学生的学号,使用remove( )方法删除相应的学生信息。
定义一个显示所有学生信息的函数,在该函数中遍历存储学生信息的列表,输出每个学生的详细信息。
定义一个保存学生数据的函数,用于将学生信息数据保存到文件中,write( )方法的参数必须是字符 ...
YYDS-油猴子--让你浏览器加成buff
YYDS-油猴子–让你浏览器加成buff本次文章介绍的是油猴子”Tampermonkey” ,这是一款浏览器扩展和用户脚本管理器,它适用于 Chrome, Firefox,Microsoft Edge等浏览器。
相信我,他会你浏览器好用到飞起来!(你尽情的抖,而他稳到底)
功能介绍Tampermonkey,实现你想要的各种功能。比如去除视频广告、倍速播放视频(想象16X看(刷)网课)、解除下载限速、破解视频内容、解决文库复制难题、音乐免费下载(IDM也可以)、全自动看网课(建议不用,学习使我们快乐) 等一系列强大的功能。
Greasy Fork脚本(本文重点介绍和使用的平台)用户脚本是一段代码,它们能够优化您的网页浏览体验。安装之后,有些脚本能为网站添加新的功能,有些能使网站的界面更加易用,有些则能隐藏网站上烦人的部分内容。在 Greasy Fork 上的用户脚本都是由用户编写并向全世界发表的,您可以免费安装,轻松体验。
安装教程(buff就绪中)本文使用的是谷歌chrome网上应用店安装方式(需要连接外网)
(如果没有的话使用火狐浏览器访问油猴子插件官网:Tampermonkey • ...
PAT乙级1004 成绩排名
每日一题——PAT乙级1004 成绩排名PAT (Basic Level) Practice (中文)
1004 成绩排名 (20 分)
题意读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入格式:每个测试输入包含 1 个测试用例,格式为
12345第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩
其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。
输入样例:12343Joe Math990112 89Mike CS991301 100Mary EE990830 95
输出样例:12Mike CS991301Joe Math990112
思路展现:依次输入每个学生的信息
...
一个双非计算机学生的长远规划(考研篇)
一个双非计算机学生的长远规划(考研篇)本文首发于2022-02-19,可能因为一些政策一些岗位发生了改变
作者目前大二,此篇文章只是自己对考研的一些见解。
满足名校梦一次考试的失利成就现在的自己,深思以后,发现没有那么多抱怨,反而有点解脱,也许这是属于我人生最好的安排,虽然学校不好,但是有幸被安排到了一个自己喜欢的专业人工智能(计算机方向)。虽然有幸但是不甘心,“十年饮冰,难凉人心”这是一个今年考哈工程学长(赵越)的座右铭,在和他相处这段时间,真正被那种义无反顾所震撼,自己体验一次全力以赴,在他说来就是难忘而美好!(目前自己也认为一个明确目标奋斗是非常美好的,这种经历难忘刻苦的)。
父母方面,感觉有些愧对父母,发现当其他人问起我的学校,总有一点迟疑,但是那一刻的沉默往往是自己最难受的时候,心里百般滋味~
更多的选择现在研究生学历的人越来越多,从而本科生的身份越来越不值钱。也导致现在研究生考试越来越卷,计算机专业更是上升到了新的维度。
大学岗位比如自己向往的大学岗位,大学生是思想最活跃的群体,无论自己工作到什么时候,都不会落伍。喜欢大学开放的思维和管理模式,更加充裕的时间,来做自己有兴趣 ...