首页
关于
Search
1
运势功能使用协议
10,449 阅读
2
教学格式
6,471 阅读
3
欣小逸食用指北
2,288 阅读
4
ToDo API
1,010 阅读
5
Electron应用打包Sqlite3报错的解决方案
526 阅读
默认分类
笔记
登录
Search
标签搜索
日常
代码
欣小逸
bot
FydeOS
腾讯云
服务器
Electron
sqlite3
自动控制原理
笔记
拾雨
累计撰写
17
篇文章
累计收到
22
条评论
首页
栏目
默认分类
笔记
页面
关于
搜索到
17
篇与
的结果
2022-04-03
ToDo API
地址https://todo.kanosaikou.cn/注册用户(reg.php)请求请求方式POST响应格式JSON参数username用户名password密码todonameToDo的名称响应内容success请求结果(1或者0)resultToken或者错误信息登录(login.php)请求请求方式POST响应格式JSON参数username用户名password密码响应内容success请求结果(1或者0)resultToken或者错误信息添加ToDo(newtodo.php)请求请求方式POST响应格式JSON参数token登录获取tasknameToDo的名称taskconfigToDo的内容(可缺省)starttime开始时间ddltime结束时间响应内容success请求结果(1或者0)resultToDo的id或错误信息编辑ToDo(edit.php)请求请求方式POST响应格式JSON参数token登录获取tasknameToDo的名称taskconfigToDo的内容(可缺省)taskidToDo的id,可在list.php获取响应内容success请求结果(1或者0)resultsuccess或错误信息获取ToDo(getlist.php)请求请求方式POST响应格式JSON参数token登录获取响应内容success请求结果(1或者0)resultJSON格式的列表或错误信息编辑ToDo完成状态(status.php)添加ToDo时默认status为0,每次请求status.php时将把status反转。请求请求方式POST响应格式JSON参数token登录获取taskidToDo的id,可在list.php获取响应内容success请求结果(1或者0)resultsuccess或错误信息删除ToDo(del.php)请求请求方式POST响应格式JSON参数token登录获取taskidToDo的id,可在list.php获取响应内容success请求结果(1或者0)resultsuccess或错误信息
2022年04月03日
1,010 阅读
0 评论
44 点赞
2022-03-16
引用、友元、重载
引用定义格式type & 名称int a; int &b=a;b和a表示同一个对象注意事项可以使用任何合法的变量名需要立即初始化,不能先定义后赋值不能重新赋值引用作为函数的参数时,传递的是参数本身而不是副本,使用引用传递函数的参数可能会导致形参变化用引用返回值友元允许外面的类和函数访问另一个类的私有成员声明为友元的可以是另一个类的成员函数,也可以是一般函数,也可以是一整个类声明部分在目标类的定义中特性不对称:A是B的友元,B不一定是A的友元不传递:A是B的友元,B是C的友元,A不一定是C的友元不继承:基类的友元不能被派生类继承慎用友元不必要情况下无需使用友元,因为是对封装性的破坏
2022年03月16日
400 阅读
0 评论
19 点赞
2022-03-14
腾讯云轻量虎年回馈活动冲冲冲
腾讯云的活动又双叒叕来啦!这次新用户老用户都可以参与,抓住机会赶快白嫖(bushi),这次的活动只需要关注公众号,邀请三个好友扫码助力就可以啦,非常简单划算嘿嘿嘿。活动链接https://cloud.tencent.com/act/pro/tiger新购轻量服务器配置价格2核2G4M66/年2核4G6M88/年4核8G10M248/年2核2G30M(Linux)(境外)307.2/年2核2G30M(Windows) (境外)388.8/年4核8G32M(Windows/Linux) (境外)2730/年免费升级!!!!!还送三个月!!绝大多数的机型都可以进行升级,还赠送三个月的时长,冲啊!
2022年03月14日
378 阅读
0 评论
5 点赞
2022-03-13
走迷宫
我们需要做的事情:从(1,1)走到(m,n)把这个问题进行分解可以看成,①从(1,1)往八个方向走一步②再从这个点走到(m,n),我们发现,②也是在重复从(1,1)走到(m,n)的过程,直到我们走到(m,n)的位置,然后结束这个过程,告诉前面的点找到(m,n)了(return 1)。因此我们可以使用递归函数,假设函数名是solve(int x,int y),表示从(x,y)走到(m,n),那么我们的函数就可以写成int solve(int x,int y){ if(x==m&&y==n){ return 1; } if(puzzle[x-1][y-1]==0){//左上 if(solve(x-1,y-1)){ return 1; } } if(puzzle[x][y-1]==0){//上方 if(solve(x,y-1)){ return 1; } } if(puzzle[x+1][y-1]==0){//右上 if(solve(x+1,y-1)){ return 1; } } if(puzzle[x+1][y]==0){//右 if(solve(x+1,y)){ return 1; } } if(puzzle[x+1][y+1]==0){//右下 if(solve(x+1,y+1)){ return 1; } } if(puzzle[x][y+1]==0){//下 if(solve(x,y+1)){ return 1; } } if(puzzle[x-1][y+1]==0){//左下 if(solve(x-1,y+1)){ return 1; } } if(puzzle[x-1][y]==0){//左边 if(solve(x-1,y)){ return 1; } } return 0;//如果八个方向都没有找到,说明这个点到不了(m,n) }然而如果我们使用这个函数,我们会发现它陷入了死循环,因为假设我们从(1,1)递归执行solve(2,2),在执行solve(2,2)的过程中,我们又会走到(1,1),然后一直重复在(1,1)和(2,2)之间来回走的过程,陷入死循环,因此,我们需要进行限制,让已经走过的路不再纳入考虑范围里,于是我们可以使用一个visit数组,来表示在这个过程中这个点有没有走过,如果八个方向都不能走,函数会到末尾结束,返回上一个点,相当于后退了一步,所以我们需要把visit标记清除int solve(int x,int y){ visit[x][y]=1;//标记这个点,表示这个点我们已经走过了,之后走的时候不走它 if(x==m&&y==n){ return 1; } if(puzzle[x-1][y-1]==0&&visit[x-1][y-1]==0){//左上,检验可不可以走的时候同时检验这个点有没有走过 if(solve(x-1,y-1)){ return 1; } } if(puzzle[x][y-1]==0&&visit[x][y-1]==0){//上方 if(solve(x,y-1)){ return 1; } } if(puzzle[x+1][y-1]==0&&visit[x+1][y-1]==0){//右上 if(solve(x+1,y-1)){ return 1; } } if(puzzle[x+1][y]==0&&visit[x+1][y]==0){//右 if(solve(x+1,y)){ return 1; } } if(puzzle[x+1][y+1]==0&&visit[x+1][y+1]==0){//右下 if(solve(x+1,y+1)){ return 1; } } if(puzzle[x][y+1]==0&&visit[x][y+1]==0){//下 if(solve(x,y+1)){ return 1; } } if(puzzle[x-1][y+1]==0&&visit[x-1][y+1]==0){//左下 if(solve(x+1,y+1)){ return 1; } } if(puzzle[x-1][y]==0&&visit[x-1][y]==0){//左边 if(solve(x-1,y)){ return 1; } } visit[x][y]=0;//八个点都走不过去,我们退回到上一个点,在这之前,因为我们是往后退了,所以这个点重新标记成我们没有来过 return 0;//如果八个方向都没有找到,说明这个点到不了(m,n) }找路的部分已经写好了,那么我们如何把路径输出呢,我们想到,我们找到(m,n)的时候,return 了 1,之后回到(m,n)的前一个点,在if(solve(x+1,y)){ return 1; }这个语句中又向上一个点返回了1,也就是按照原路一直return 1,所以我们可以在return 1之前加一个输出,输出这个时候的(x,y),就可以把路径输出int solve(int x,int y){ visit[x][y]=1;//标记这个点,表示这个点我们已经走过了,之后走的时候不走它 if(x==m&&y==n){ printf("(%d,%d)\n",x,y); return 1; } if(puzzle[x-1][y-1]==0&&visit[x-1][y-1]==0){//左上,检验可不可以走的时候同时检验这个点有没有走过 if(solve(x+1,y)){ printf("(%d,%d)\n",x,y); return 1; } } if(puzzle[x][y-1]==0&&visit[x][y-1]==0){//上方 if(solve(x+1,y)){ printf("(%d,%d)\n",x,y); return 1; } } if(puzzle[x+1][y-1]==0&&visit[x+1][y-1]==0){//右上 if(solve(x+1,y)){ printf("(%d,%d)\n",x,y); return 1; } } if(puzzle[x+1][y]==0&&visit[x+1][y]==0){//右 if(solve(x+1,y)){ printf("(%d,%d)\n",x,y); return 1; } } if(puzzle[x+1][y+1]==0&&visit[x+1][y+1]==0){//右下 if(solve(x+1,y)){ printf("(%d,%d)\n",x,y); return 1; } } if(puzzle[x][y+1]==0&&visit[x][y+1]==0){//下 if(solve(x+1,y)){ printf("(%d,%d)\n",x,y); return 1; } } if(puzzle[x-1][y+1]==0&&visit[x-1][y+1]==0){//左下 if(solve(x+1,y)){ printf("(%d,%d)\n",x,y); return 1; } } if(puzzle[x-1][y]==0&&visit[x-1][y]==0){//左边 if(solve(x+1,y)){ printf("(%d,%d)\n",x,y); return 1; } } visit[x][y]=0;//八个点都走不过去,我们退回到上一个点,在这之前,因为我们是往后退了,所以这个点重新标记成我们没有来过 return 0;//如果八个方向都没有找到,说明这个点到不了(m,n) }
2022年03月13日
230 阅读
1 评论
3 点赞
2022-03-12
FydeOS - 适合国内用户使用的Chrome OS系统
前言我使用FydeOS也有一年了,怎么说,当我刚上手的时候就被它吸引,它的界面非常整洁干净,看上去很舒服,一开始我是冲着在电脑上跑安卓程序去的,后来越来越爱不释手,开始疯狂安利哈哈哈哈简介FydeOS是燧炻创新基于驱动 Chrome OS 及谷歌浏览器的开源项目二次开发的桌面操作系统,它继承了ChromeOS的许多特性,并进行本土化适配,同时针对不同的硬件和设备(如surface等)进行适配,目前,可以同时运行Web, Android 和Linux应用。 (也不是不可以装个Wine开Windows应用)安装安装到硬盘准备工作:一台Intel CPU的电脑(AMD的CPU暂不支持)(至少20GB的剩余空间)一个至少16GB的USB3.0的U盘。1.进入FydeOS官网,下载系统镜像,这里可以在FydeOS For You里找一找有没有自己的设备,如果有可以选择下载FydeOS For You,没有的话下载FydeOS For PC即可。2.下载Etcher3.使用Etcher将下载的iso镜像写入U盘中{callout color="#ef4d4d"}注意:此操作需要将U盘整个格式化,不可以安装到某个分区里,请提前备份好数据。{/callout}4.写入完成后,重启电脑,选择U盘启动,就可以进入FydeOS系统了,根据不同U盘的读写速度的差异,加载速度不尽相同。5.选择语言后,点击安装FydeOS,选择多重引导安装,勾选安装rEFInd(不然无法制作双系统),将FydeOS安装到之前分配的空间里{callout color="#ef4d4d"}注意:该操作请确认安装的磁盘分区为空,安装过程会将磁盘分区格式化,避免造成数据丢失。{/callout}6.等待安装完成就可以进入系统啦,开机的时候会显示一个菜单,可以选择进入Windows或者FydeOS{callout color="#ef4d4d"}注意:如果开机仍然直接进入Windows,请检查是否将BIOS设置中的安全启动关闭!{/callout}安装到USB介质同上操作下载Etcher和对应版本的FydeOS系统镜像,将镜像部署到USB介质中即可。部署完成后,重启电脑,选择从USB介质启动即可进入FydeOS系统。{callout color="#ef4d4d"}注意:此操作需要将USB存储设备整个格式化,不可以安装到某个分区里,请提前备份好数据。{/callout}{callout color="#ef4d4d"}注意:此操作后,USB存储设备将被格式化,同时形成的分区在Windows下无法读取,如需从里面划分出一块空间,请看以下操作。{/callout}腾出空间仍然用作移动硬盘?准备工具:一个U盘(无数据)1.下载 GParted 2.使用Etcher将GParted写入至U盘3.插上装有FydeOS的USB介质,重启进入刷入GParted的U盘4.将FydeOS的数据分区(空间最大的那个)缩小,使用新的空间建立一个新的NTFS分区并格式化(具体操作可以百度)5.保存更改,重启电脑,在Windows系统下即可看到刚刚分出来的空间,同时也不影响FydeOS的正常使用
2022年03月12日
506 阅读
0 评论
1 点赞
1
2
3
4