摘要:
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 分析:回溯算法 这是一个可以用回朔法解决的典型题。首先,在矩阵中任选 阅读全文
posted @ 2021-11-18 20:30
Zupernova
阅读(122)
评论(0)
推荐(0)
摘要:
//模拟乘法进位操作 string add(string x, string y) { reverse(x.begin(), x.end()); reverse(y.begin(), y.end()); string ans; if (x.empty() && y.empty())return an 阅读全文
posted @ 2021-11-18 20:28
Zupernova
阅读(62)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <vector> #include <stack> #include <set> #include <string> #include <algorithm> using namespace std; int main(void) { int 阅读全文
posted @ 2021-11-18 20:27
Zupernova
阅读(23)
评论(0)
推荐(0)
摘要:
#include <iostream> using namespace std; int find(int a[],int len); void main() { int a[]={1,2,3,5,7,8,16}; int len=sizeof(a)/sizeof(int); cout<<find( 阅读全文
posted @ 2021-11-18 20:26
Zupernova
阅读(44)
评论(0)
推荐(0)
摘要:
class Solution { public: ListNode* reverseList(ListNode* head) { if(!head)return NULL; ListNode* pre=new ListNode(-1); ListNode* tmp; while(head){ tmp 阅读全文
posted @ 2021-11-18 20:25
Zupernova
阅读(53)
评论(0)
推荐(0)
摘要:
经典解法一维 #include <iostream> using namespace std; bool sign = false; int num[9][9]; void Output() { for (int i = 0; i < 9; i++){ for (int j = 0; j < 8; 阅读全文
posted @ 2021-11-18 20:24
Zupernova
阅读(104)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; bool cmp(const string& p1,const string& p2) { return 阅读全文
posted @ 2021-11-18 20:23
Zupernova
阅读(21)
评论(0)
推荐(0)
摘要:
#include<iostream> using namespace std; class Solution { public: string intToRoman(int num) { char* c[4][10]={ {"","I","II","III","IV","V","VI","VII", 阅读全文
posted @ 2021-11-18 20:23
Zupernova
阅读(83)
评论(0)
推荐(0)
摘要:
bool fun(vector<int>& track, vector<int>& nums) { stack<int> t; int i = 0,j=0; for (int i = 0; i < nums.size();i++) { if (t.empty()||t.top() != track[ 阅读全文
posted @ 2021-11-18 20:22
Zupernova
阅读(82)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <vector> using namespace std; int main(void) { vector<int> m = { 5,6,7,8,9,10,11,12,14,15 }; vector<int> ans; int des = 2 阅读全文
posted @ 2021-11-18 20:21
Zupernova
阅读(29)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <string> #include <cmath> #include <vector> #include <map> #include <algorithm> using namespace std; int m, n; vector<vec 阅读全文
posted @ 2021-11-18 20:20
Zupernova
阅读(67)
评论(0)
推荐(0)
摘要:
问题:在N行N列的棋盘上,一位骑士按象棋中“马走日”的走法从初始坐标位置(SX, SY)出发,要求遍历(巡游)棋盘中每一个位置一次。请输出其实巡游的位置顺序,或输出无解。 #include <iostream> using namespace std; // 棋盘边长、起始位置、总步数 const 阅读全文
posted @ 2021-11-18 20:19
Zupernova
阅读(96)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <stdio.h> #include <string.h> #include <conio.h> using namespace std; typedef struct student { int data; struct student * 阅读全文
posted @ 2021-11-18 20:16
Zupernova
阅读(134)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <vector> #include <stack> #include <set> #include <string> #include <algorithm> using namespace std; int main(void) { str 阅读全文
posted @ 2021-11-18 20:12
Zupernova
阅读(34)
评论(0)
推荐(0)
摘要:
//我的方法 #include <iostream> #include <vector> #include <stack> #include <set> #include <string> #include <algorithm> using namespace std; void fun(vect 阅读全文
posted @ 2021-11-18 20:11
Zupernova
阅读(56)
评论(0)
推荐(0)
摘要:
//全排列数->部分排列数->///(部分)组合数:好像不对/// //myprint->取全排列前n个->部分排列数基础上加上单调验证 #include <iostream> #include <vector> #include <stack> #include <set> #include <s 阅读全文
posted @ 2021-11-18 20:09
Zupernova
阅读(66)
评论(0)
推荐(0)
摘要:
#include <iostream>//一个更加形象的代码,不仅求出最大长度,同时用二维数组存储每个阶段的最长子序列 #include <vector> #include <stack> #include <algorithm> using namespace std; void newpush( 阅读全文
posted @ 2021-11-18 20:08
Zupernova
阅读(39)
评论(0)
推荐(0)
摘要:
第一题:求获胜者,如果票数相当,按照字典序排序 输入: Tom,Lily,Tom,Lucy,Lucy,Jack 输出: Lucy #include <iostream> #include <vector> #include <stack> #include <set> #include <strin 阅读全文
posted @ 2021-11-18 20:07
Zupernova
阅读(90)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <vector> #include <stack> #include <set> #include <string> #include <algorithm> using namespace std;//L为左括号数,R为右括号数,限制条件为 阅读全文
posted @ 2021-11-18 20:06
Zupernova
阅读(57)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <vector> using namespace std; vector<int> t; void traceback(int total, int n,int len) { if (n == 0||total == 0) { for (in 阅读全文
posted @ 2021-11-18 20:05
Zupernova
阅读(67)
评论(0)
推荐(0)
摘要:
#include<iostream> #include<vector> using namespace std; bool is_not_under_attack(int row, int col, int n, vector<int> & rows, vector<int> & hills, ve 阅读全文
posted @ 2021-11-18 20:04
Zupernova
阅读(37)
评论(0)
推荐(0)
摘要:
一定要弄懂GetMemory 堆栈 栈中分配局部变量空间,是系统自动分配空间。定义一个 char a;系统会自动在栈上为其开辟空间。由于栈上的空间是自动分配自动回收的,所以栈上的数据的生存周期只是在函数的运行过程中,运行后就释放掉,不可以再访问。 堆区分配程序员申请的内存空间,堆上的数据只要程序员不 阅读全文
posted @ 2021-11-18 20:00
Zupernova
阅读(64)
评论(0)
推荐(0)
摘要:
一、内存基本构成 可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。 静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。 栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创 阅读全文
posted @ 2021-11-18 19:49
Zupernova
阅读(198)
评论(0)
推荐(0)
摘要:
1.申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。而堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用 阅读全文
posted @ 2021-11-18 19:37
Zupernova
阅读(65)
评论(0)
推荐(0)
摘要:
static修饰的函数叫做静态函数,静态函数有两种,根据其出现的地方来分类: 如果这个静态函数出现在类里,那么它是一个静态成员函数; 静态成员函数的作用在于:调用这个函数不会访问或者修改任何对象(非static)数据成员。 其实很好理解,类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内 阅读全文
posted @ 2021-11-18 19:22
Zupernova
阅读(287)
评论(0)
推荐(0)
摘要:
#include两种声明区别 引用的头文件不同 #include < > 引用的是编译器的类库路径里面的头文件。 #include“ ”引用的是你程序目录的相对路径中的头文件。 用法不同 #include < > 用来包含标准头文件(例如stdio.h或stdlib.h). #include“ ”用 阅读全文
posted @ 2021-11-18 19:20
Zupernova
阅读(83)
评论(0)
推荐(0)
摘要:
OSI:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层 TCP/IP:数据链路层,网络层,传输层,应用层 TCP与UDP区别: 1、基于连接与无连接; 2、对系统资源的要求(TCP较多,UDP少); 3、UDP程序结构较简单; 4、流模式与数据报模式 ; 5、TCP保证数据正确性,UDP 阅读全文
posted @ 2021-11-18 19:10
Zupernova
阅读(68)
评论(0)
推荐(0)
摘要:
树遍历方法大全 void fun(TreeNode* root) { if (!root)return; cout << root->val<<','; fun(root->left); fun(root->right); }//递归先序遍历,中序、后序遍历同理 void fun(TreeNode* 阅读全文
posted @ 2021-11-18 19:01
Zupernova
阅读(78)
评论(0)
推荐(0)
摘要:
vim 中有三种工作模式,分别是命令模式,输入模式,末行模式 刚进入编辑器是处于命令模式,切换到输入模式可以输入:i,I,o,O,a,C a:在光标之后插入A:在光标所在行末插入i:在光标处插入I:在光标所在行首插入o:跳转到光标下一行插入行O:跳转到光标上一行插入行C:清除光标所在位置后的所有内容 阅读全文
posted @ 2021-11-18 18:56
Zupernova
阅读(49)
评论(0)
推荐(0)
摘要:
链表初始化代码: Node* list_init(void){ Node *head = (Node *)malloc(sizeof(Node)); Node *p1 = (Node *)malloc(sizeof(Node)); Node *p2 = (Node *)malloc(sizeof(N 阅读全文
posted @ 2021-11-18 18:55
Zupernova
阅读(188)
评论(0)
推荐(0)
摘要:
1、无名管道通信 无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 2、有名管道通信 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 3、消息队列 阅读全文
posted @ 2021-11-18 18:50
Zupernova
阅读(356)
评论(0)
推荐(0)
摘要:
1)接口区别 NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。通俗的说,就是光给地址不行,要先命令,再给地址,才能读到NAND的数据。而且都是在一个总线完成的。结论是:ARM无法从NAND直接启动。除非装载 阅读全文
posted @ 2021-11-18 17:45
Zupernova
阅读(453)
评论(0)
推荐(0)
摘要:
介绍一下make? 为什么使用make 1、包含多个源文件的项目在编译时有长而复杂的命令行,可以通过makefile保存这些命令行来简化该工作2、make可以减少重新编译所需要的时间,因为make可以识别出哪些文件是新修改的3、make维护了当前项目中各文件的相关关系,从而可以在编译前检查是否可以找 阅读全文
posted @ 2021-11-18 17:40
Zupernova
阅读(448)
评论(0)
推荐(0)
摘要:
什么是重定位?为什么需要重定位? 一、必须知道的几个概念。 1、链接地址和运行地址。 a.运行地址,顾名思义就是程序运行的时候的地址,也就是你用工具将代码下载到RAM的那个地址,也叫加载地址。 b.链接地址,由链接脚本指定的地址。为什么需要链接脚本指定地址呢?你想一下,在c语言编程中,当我们需要调用 阅读全文
posted @ 2021-11-18 17:37
Zupernova
阅读(176)
评论(0)
推荐(0)
摘要:
一.C语言入门,初学,编程基础系列 1.《C语言程序设计:现代方法》(第2版)推荐理由:时至今日, C语言仍然是计算机领域的通用语言之一,但今天的 C语言已经和最初的时候大不相同了。本书最主要的一个目的就是通过一种“现代方法”来介绍 C语言,书中强调标准 C,强调软件工程,不再强调“手工优化”。这一 阅读全文
posted @ 2021-11-18 17:31
Zupernova
阅读(156)
评论(0)
推荐(0)
摘要:
预处理器(Preprocessor) 1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60UL * 60 * 24 * 365) 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号 阅读全文
posted @ 2021-11-18 17:12
Zupernova
阅读(314)
评论(0)
推荐(0)
摘要:
三大基本排序 void insert(vector<int>& a) { for (int i = 1; i < a.size();i++) { int t = i; while (t > 0 && a[t] < a[t - 1]) { swap(a[t], a[t - 1]); t--; } } 阅读全文
posted @ 2021-11-18 16:17
Zupernova
阅读(98)
评论(0)
推荐(0)
浙公网安备 33010602011771号