随笔分类 -  基础算法路上

摘要:#include <bits/stdc++.h> using namespace std; using gg=long long; int main() { ios::sync_with_stdio(false); cin.tie(0); string a; getline(cin,a); int 阅读全文
posted @ 2022-02-24 15:59 平平淡淡yg 阅读(43) 评论(0) 推荐(0)
摘要:void insertsort(int arr[],int len) { for(int i=1;i<len;i++) { int tmp=arr[i]; int j; for(j=i-1;j>=0;j--) { if(arr[j]>tmp) { arr[j+1]=arr[j]; } else{ b 阅读全文
posted @ 2022-02-23 19:55 平平淡淡yg 阅读(58) 评论(0) 推荐(0)
摘要:vector<gg> fun(gg a, gg b)//a为十进制数,b为进制 { vector<gg>ans; do{ ans.push_back(a%b); a/=b; }while(a !=0); reverse(ans.begin(),ans.end()); return ans; } 方法 阅读全文
posted @ 2022-02-22 17:58 平平淡淡yg 阅读(39) 评论(0) 推荐(0)
摘要:一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出发时刻路上经过的所有红绿灯的指示状态。请帮忙计算小明此次回家所需要的时间。 输入格式 输入的第一行包含空格分隔的三个正整数 r、y、g,表示红绿灯的设置。这三个数均不超 阅读全文
posted @ 2021-12-02 09:52 平平淡淡yg 阅读(81) 评论(0) 推荐(0)
摘要:2. 给定一个由n个整数组成的数组。编写一个程序,找出数组中需要改变值的最小数目,使数组中的整数严格递增。在严格递增数组中,A[i]<A[i+1],0<=i<n。(计九第二组) 输入:1 2 6 5 4(若选最长上升子序列为1 2 4,由于题目要求为整数数组,故此时不符合题意,需要增加一个条件来选择 阅读全文
posted @ 2021-12-01 09:03 平平淡淡yg 阅读(50) 评论(0) 推荐(0)
摘要:吃香蕉 方法:二分查找思路分析: 根据题意可以知道:珂珂吃香蕉的速度越小,耗时越多。反之,速度越大,耗时越少,这是题目的 单调性;我们要找的是速度。因为题目限制了珂珂一个小时之内只能选择一堆香蕉吃,因此速度最大值就是这几堆香蕉中,数量最多的那一堆。速度的最小值是 11,其实还可以再分析一下下界是多少 阅读全文
posted @ 2021-11-03 10:27 平平淡淡yg 阅读(114) 评论(0) 推荐(0)
摘要:给一只含有正整数的非空数组, 判断这个数组是否可以划分为 两个元素和相等的子集。 注意事项: 所有数组元素不超过100. 数组大小不超过200. 样例: 给一数组 [1, 5, 11, 5] , 返回 true , 两个子集:[1, 5, 5], [11] 给一数组 [1, 2, 3, 9] , 返 阅读全文
posted @ 2021-10-25 19:52 平平淡淡yg 阅读(1882) 评论(0) 推荐(0)
摘要:以字符串aabaaf为例 next数组可能有几种表达方式 如 0 1 0 1 2 0 -1 0 1 0 1 2 -1 0 -1 0 1 -1 实际上他们的本质上都是一样的 第一种当前后缀不匹配时,j跳到next[j-1]; 第二种j跳到next[j]; #include<iostream> #inc 阅读全文
posted @ 2021-04-10 14:21 平平淡淡yg 阅读(101) 评论(0) 推荐(0)
摘要:初学算法和数据结构,直接就用了一下的递归。结果很显然,超时了。 class Solution { public: int fib(int n) { if(n==0) { return 0; } if(n==1) { return 1; } return fib(n-1)+fib(n-2); } }; 阅读全文
posted @ 2021-03-27 11:39 平平淡淡yg 阅读(154) 评论(0) 推荐(0)
摘要:在leetcode看了笨猪的题解,感觉很不错。 思路大致为定义land 和 border。 可以发现岛屿面积就是land *4+border *2,自己动手画画就知道了。 接下来我认为的关键就是如何计算border 当遇到了land时,检查它的右边和下边,看是否有land, 有的话border++。 阅读全文
posted @ 2021-03-25 11:28 平平淡淡yg 阅读(126) 评论(0) 推荐(0)
摘要:栈为先进后出的一种数据结构,队列为先进先出的数据结构。 要用栈来实现队列,显然需要两个栈,一个栈来实现队尾入队,一个栈来实现队首出队。 如何具体实现呢 要分为一下几种情况: 设栈A、B; 1、B中有元素时,直接让B出栈,即可完成队列出队; 2、当A中有元素,B中没有元素时,将A中元素全部出栈到入栈B 阅读全文
posted @ 2021-03-25 10:52 平平淡淡yg 阅读(190) 评论(0) 推荐(0)
摘要:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 具体思路就是先获得链表的长度,然后创建一个数组来倒序存储链表的值。 看了leetcode的题解,不知道为什么要创建新的链表tmp。 class Solution { public: vector<int> reversePrint 阅读全文
posted @ 2021-03-25 10:29 平平淡淡yg 阅读(41) 评论(0) 推荐(0)
摘要:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 输入:s = "We are happy." 输出:"We%20are%20happy." 创建新的string a,讲string s中的字符逐个赋给a,当遇到' '时,赋'%'、'2'、'0'; class Solution { pu 阅读全文
posted @ 2021-03-25 10:24 平平淡淡yg 阅读(34) 评论(0) 推荐(0)