Loading

上一页 1 ··· 8 9 10 11 12 13 14 15 下一页
摘要: 题目描述 看起来很简单,但是n的取值范围是<=50,结果有可能会很大,一般的算法AC不了。 题解上说要用一种叫做高精度运算的算法: 24.cnblogs.com/blog/3213233/202403/3213233-20240302211217307-1826622717.png) 这里的高精度算 阅读全文
posted @ 2024-03-02 23:14 SaTsuki26681534 阅读(28) 评论(0) 推荐(0)
摘要: 题目描述 很简单,判断给定的年份是不是闰年。 但问题在于我一开始还真不知道闰年的定义.. #include<iostream> using namespace std; int main(){ int year; cin>>year; if((year%4 == 0 && !(year%100 == 阅读全文
posted @ 2024-03-01 22:12 SaTsuki26681534 阅读(24) 评论(0) 推荐(0)
摘要: 题目不难,但是很考验读题的能力和运用逻辑符号的能力。 代码: #include<iostream> using namespace std; int main(){ int x; cin>>x; bool res[4] = {0,0,0,0}; bool a = (x%2 == 0); bool b 阅读全文
posted @ 2024-03-01 22:04 SaTsuki26681534 阅读(33) 评论(0) 推荐(0)
摘要: 看似很简单,但是这种现实情境的问题特别需要处理特殊情况,如不能出现剩余苹果为负数的情况等等。看到现实问题类型的题目都要想到这些问题。 官方题解代码: #include<bits/stdc++.h>//万能头文件 using namespace std; int m,t,s; int main() { 阅读全文
posted @ 2024-03-01 21:41 SaTsuki26681534 阅读(133) 评论(0) 推荐(0)
摘要: 题目描述 思路 我想起了一位故人。。 前面那道分隔链表的题,只需要把<x的条件改为位置的奇偶即可完全照搬过来,出题人偷懒了属于是。 试着不抄代码重新写一遍: 简单写了一下发现这道题不太适合用递归算法求解,因为结点在整个链表中的位置不太好确认,试着用双指针法写一下: class Solution { 阅读全文
posted @ 2024-02-28 15:18 SaTsuki26681534 阅读(16) 评论(0) 推荐(0)
摘要: 题目描述 这道题的重点在在于理解题意。其特点在于需要在不给链表的head结点的情况下删除某个给定结点node。 首先想到的思路是把结点上的元素值依次向前移动,然后删除最后一个结点。 代码如下: class Solution { public: void deleteNode(ListNode* no 阅读全文
posted @ 2024-02-28 00:02 SaTsuki26681534 阅读(14) 评论(0) 推荐(0)
摘要: 题目描述 思路 老样子,还是先用递归试试。 在基本问题中,也就是left == rigth或者left+1 == right时,直接将两个元素调换顺序即可。 我突然发现代码随想录里好像讲过一个用双指针法反转链表的算法。 那道题是把整个链表翻转, 代码如下: //双指针法 class Solution 阅读全文
posted @ 2024-02-27 23:23 SaTsuki26681534 阅读(23) 评论(0) 推荐(0)
摘要: 题目描述 思路 先想到的一个方法是快慢指针扫描小于x的结点,然后把这些节点插入到慢指针后面去,但是写着写着好像发现这个题也可以用递归来写,后面的若干个结点的子表和整个问题的性质是一样的。 普通方法的代码如下: //只是大致是这样,这个代码还有一些用例跑不过 class Solution { publ 阅读全文
posted @ 2024-02-27 14:41 SaTsuki26681534 阅读(18) 评论(0) 推荐(0)
摘要: 题目描述 思路 这些链表的有序性使这些操作都不难写。 前面在数组的题目里写过跳过重复元素的算法,这个和那个类似,用快慢指针写,但是由于这个是删除重复元素,所以我用了两个相邻的慢指针,左边的慢指针其实是为了保存真正的慢指针的上一个位置。 代码如下: class Solution { public: L 阅读全文
posted @ 2024-02-24 23:28 SaTsuki26681534 阅读(30) 评论(1) 推荐(0)
摘要: 题目描述 思路 首先用双指针法向后移动,分别获取链表的最后一个结点和倒数第k的结点,再把这部分连接到链表的头部即可,这部分的操作并不难。 但是实际这样写了之后就会发现,如果链表的长度小于k的话,这样的操作就是行不通的,需要对这种情况进行特殊处理。 但是在处理过程中发现这个操作有这样的特点:当链表长度 阅读全文
posted @ 2024-02-24 22:43 SaTsuki26681534 阅读(26) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 14 15 下一页