- 博客(17)
- 收藏
- 关注
原创 Python第七章-函数进阶
[在这里插入图片描述](https://i-blog.csdnimg.cn/direct/87152e2300ed43589aebf4ad8170cc69.png。
2024-10-05 01:42:20
412
原创 Python学习笔记-第四章 循环语句
如果想在for循环结束之后还能访问到 i ,可以在for循环之前就定义一个 i。用range之后就不用手动i++,直接在for循环里面当做循环次数使用。
2024-09-23 23:56:57
321
原创 上机第五次|
由于范围不大,所以我们可以直接暴力一个区间内所有的数,然后对每个数的每一位判断,判断出一些满足要求的数,最后输出所有满足要求的数的和就行了。比如1,2,3和3,2,1在全排列中是不一样的,但是在这题中是一样的。但是如果零钱不是成倍数的,或者是随机输入的,就不能用贪心做,要用动态规划来做。方法:用不降原则,每次选的数下标 在前一个下标的后面,这样就不会出现重复的了。因为这里零钱设置是成倍数的,所以可以用贪心算法来做,每次选择最大的,如果是贪心,就是14=10+1+1+1,共4张,但是这不是最优的。
2024-03-25 16:21:17
436
原创 第二次上机练习|| 字符串,进制转换,数学问题
注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例 1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例 2)。一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从。,最坏情况下,所有数据逆序,有O(n^2),大概是1e10,超过了int的长度,所以要用long long来表示。
2024-03-11 13:56:23
889
1
原创 上机第一次训练 || 入门题
第一个人(1号)将灯全部关闭,第二个人 (2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯T打开)。个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。顺次输出关闭的灯的编号,其间用逗号间隔。
2024-03-09 22:36:39
710
原创 day08-字符串|反转字符串
给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。我们将整个字符串都反转过来,那么单词的顺序指定是倒序了,只不过单词本身也倒序了,那么再把单词反转一下,单词不就正过来了。申请一个新的字符串,遇到多余的空格就跳过,把其余的字符放到新的字符串里面,这样就实现了移除多余的空格这种操作;
2024-01-29 11:53:09
1578
原创 day-07哈希表|15. 三数之和、18. 四数之和
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!如果nums[i] + nums[left] + nums[right] > 0 就说明 此时三数之和大了,因为数组是从小到大排序了的,所以right下标就应该向左移动,这样才能让三数之和小一些。排序+枚举+双指针,先对数组排序,然后枚举nums[a]和nums[b],双指针求nums[c]和nums[d]。输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]
2024-01-20 17:56:58
977
原创 day06-哈希表|242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
哈希表(英文名字为Hash table),哈希表是根据关键码的值而直接进行访问的数据结构。总结一下,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!
2024-01-19 16:51:06
1093
1
原创 代码随想录day04-链表|24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、 面试题 02.07. 链表相交 、142.环形链表II
这是因为fast是走两步,slow是走一步,其实相对于slow来说,fast每次比slow多走一步,是一个节点一个节点的靠近slow的,所以fast一定可以和slow重合。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。给定一个链表的头节点 head ,返回链表开始入环的第一个节点。让 p指向开始节点,p和slow同步向前移动,如果slow和 p 相遇的位置就是环的入口。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。注意,函数返回结果后,链表必须 保持其原始结构。
2024-01-13 11:13:05
1002
1
原创 代码随想录day03-链表|203.移除链表元素、707.设计链表、 206.反转链表
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。,每遍历一个结点,就把它摘下来一个一个插入到头结点的后面,直到遍历完所有节点为止。用两个指针 cur 和 pre,改变链表的 next 指针的指向,直接将链表反转。cur指向当前遍历节点,pre指向前一个节点,每遍历一个结点就改变他们之间的方向。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。你可以选择使用单链表或者双链表,设计并实现自己的链表。
2024-01-12 17:18:07
1016
1
原创 代码随想录day2数组|滑动窗口,螺旋矩阵
一直吃前面的方块,直到长度符合最小要求,这时我们不可能去掉头部方块,因为没吃它之前长度不够,然后为了减肥,我们只能考虑去减掉后面的方块。所以需要继续边吃边吐的过程。首先,我们可以发现,这个矩阵由外向内的每一圈,都是一个规模更小的正方形,因此我们可以循环对每圈正方形的四条边进行填充。需要注意的是,将 fruits[left] 从哈希表中出现次数减1后,如果为 0,需要将对应的键值对从哈希表中移除。在滑动窗口类型的问题中都会有两个指针,一个用于「延伸」现有窗口的 r 指针,和一个用于「收缩」窗口的 l 指针。
2024-01-06 14:29:02
1126
1
原创 代码随想录day1数组| 二分查找、双指针
链接34.在排序数组中查找元素的第一个和最后一个位置给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]方法。
2024-01-04 14:35:04
955
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅