
笔记
even蛋黄酱
csdn不能直接复制粘贴影响了效率
展开
-
【套娃】win12r2server服务器通过ubuntu装gitlab
win12r2server ubuntu gitlab 文件工具原创 2022-10-31 13:04:06 · 296 阅读 · 0 评论 -
T.1翻转数列前n项和
cout原创 2021-04-16 12:39:08 · 111 阅读 · 0 评论 -
字符串转整数 二叉树最近公共祖先c++
找当前点与qp是否相等 找当前点左右孩子是否存在原创 2020-08-11 01:45:45 · 132 阅读 · 0 评论 -
不用加减乘除做加法 构建乘积数组c++
不进位的加的结果可以由异或操作来实现:0∧0=1∧1=0,1∧0=0∧1=1(同为0,异为1),进位的结果可以由& 以及移位操作来计算:1&1=1;1&0=0;0&0=0,但进位是参与更高一位的运算,因此还需要左移1;...原创 2020-08-11 00:43:39 · 124 阅读 · 0 评论 -
股票最大利润求1+2+···n c++
这里maxv是最大利润 minv是最低股价原创 2020-08-11 00:25:23 · 108 阅读 · 0 评论 -
圆圈最后剩下的数字 圆环回原点c++
圆环回原点/** * 一个圆环, 有n个点, 从0出发,每次只能走一步,问走k步,有多少种方法可以走回来 */ #define N 100 int get_step_num(int n, int k){ if (n==1){ return 1; } if (n==2){ if (k%2==0) return 1; else return 0; } int arr[2][N] = {0}; int flag = 1, i = 0, j = 0;.原创 2020-08-10 22:46:22 · 562 阅读 · 0 评论 -
n个骰子点数 扑克牌顺子c++
/* dp[i][j]表示当n=i时,和为j出现的排列情况总数;状态转移方程:dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3]+dp[i-1][j-4]+dp[i-1][j-5]+dp[i-1][j-6];初始条件:dp[1][1]=dp[1][2]=dp[1][3]=dp[1][4]=dp[1][5]=dp[1][6]=1;*/class Solution {public: vector<double> twoSum(in原创 2020-08-10 04:47:55 · 277 阅读 · 0 评论 -
滑动窗口最大值c++
下标i一步步走到窗口右,队列下标q.f,q.f+1···q.b记录窗口内元素num_q.f≥num_q.f+1≥···num_q.b用q.b≤q.i,q.f≥q.i-size更新q.f和q.bqf压入结果尾原创 2020-08-10 04:23:59 · 235 阅读 · 0 评论 -
循环左移位(左旋转)字符串 翻转单词顺序c++
不额外开辟空间做法–> 整转<–->-部分转翻转单词顺序列题目描述:将“I am a student.”变为“student. a am I”解法:先翻转整个句子,再翻转每个单词每个单词: j-i长度 i开始位置 j结束位置...原创 2020-08-10 02:03:26 · 190 阅读 · 0 评论 -
和为s的两个数字 ~连续正数序列c++
i+j=s看s-i是否存在即 存在返回i,s-i暴力 向后找终点向前删起点//1. 从start到end的连续正数序列的和记为sum。//2. sum = (start+end)*(end-start+1)/2//3. 遍历一次数组,令start为当前遍历值,解上述方程,求出end的值,跟最大值比较,若在给定的数组之内,则为一组解。...原创 2020-08-10 01:26:26 · 93 阅读 · 0 评论 -
数组中只出现一次的数字2个版本唯一两个c++
1数1次其余3次2数1次其余2次&按位与^按位异或for(k:data)循环遍历一次data,依次取出一个元素赋值给k原创 2020-08-10 01:01:29 · 185 阅读 · 0 评论 -
二叉搜索树的第k个结点 二叉树深度 平衡二叉树c++
题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。左边开始找并计数k-1(k=k,k>0,k–)结束,找完左子树后,当前根上移...原创 2020-08-09 23:46:07 · 224 阅读 · 0 评论 -
两个链表第一个公共节点 数组数值下标相等数字 数组缺失数字 数字在排序数组出现次数c++
单链表返首,双链表同时走,相等返回二分 用数组中间值和中间下标测试 因为整数数组值跨度不小于下标若值大于下标说明目标在左边反之右边相等输出值不等输出-1因为0~n-1数组值与下标相等,缺失值之后均不等,故与上一个题一样不等mid左移即可数字在排序数组出现次数二分...原创 2020-08-09 22:57:20 · 121 阅读 · 0 评论 -
数组逆序对.
原创 2020-08-09 22:42:48 · 89 阅读 · 0 评论 -
字符串中第一个只出现一次的字符 字符流~字符 字符串~字符位置 c++
建立哈希表存放每个字符出现的次数哈希表记录字符出现次数,遍历完为1输出遍历字符串,取新值,在哈希表中记录若入队的出现次数,过程中出现次数大于1则原值也pop,否则push入队你除了我有第二个对象所以我跟你必须分手找下一个排队的字符串中第一个只出现一次的字符位置...原创 2020-08-09 22:04:14 · 110 阅读 · 0 评论 -
丑数
题目描述: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数即被235及他们的倍数整除小于n的数里i有多少倍2j有多少倍3k有多少倍5...原创 2020-08-09 20:00:35 · 149 阅读 · 0 评论 -
数字翻译成字符串 礼物最大价值最长不含重复字符子字符串c++
原创 2020-08-09 19:37:49 · 139 阅读 · 0 评论 -
数组排成最小数c++
数组排成最小数输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。...原创 2020-08-09 19:01:51 · 431 阅读 · 0 评论 -
数字序列某位数字c++
找15位去掉0-9 10位剩5=2*2+1 个位0-1占2位故应为个位为2的第一位即12的第一位1原创 2020-08-09 04:23:23 · 222 阅读 · 0 评论 -
连续子数组的最大和 整数中1个数 c++
大根堆创建一个大小为k的数据容器来存储最小的k个数字从输入的n个整数中读入一个数a容器中已有的数字少于k个,则直接把a放入容器容器中已有k个数字满了,找出容器中k个数的最大值m,与a比较m<a替换m=am>a抛弃a由于heap已排列好,只需弹除第k+1个元素如25,26行所示heap值从大到小加入结果,反转即.原创 2020-08-09 01:08:36 · 114 阅读 · 0 评论 -
字符串排列c++
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则按字典序打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。库函数递归...原创 2020-08-08 23:45:14 · 220 阅读 · 0 评论 -
序列化反序列化二叉树
PS:只考虑先序,中序不唯一![原创 2020-08-08 22:17:00 · 81 阅读 · 0 评论 -
复杂链表复制c++
原创 2020-08-08 20:56:31 · 100 阅读 · 0 评论 -
二叉搜索树的后序遍历 二叉树和为某值的路径 二叉搜索树转为双向链表c++
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。二叉树某一路径和为某值原创 2020-08-08 19:29:58 · 115 阅读 · 0 评论 -
不分行 分行 之字打印二叉树c++
不分行从上往下打印二叉树分行从上往下打印二叉树之字打印二叉树原创 2020-08-08 01:40:26 · 141 阅读 · 0 评论 -
顺时针打印矩阵 包含min函数的栈 栈压入弹出c++
记录左上角和右下角坐标 (这两个坐标就描述了一个矩形)然后先按照顺时针打印这个矩形边上的元素,到边界时方向改变缩小矩形(也就是调整左上和右下坐标位置)再次顺时针打印. 一直缩小到这个矩形为空即可...原创 2020-08-07 23:28:54 · 200 阅读 · 0 评论 -
合并两单调递增链表 树的子结构 二叉树镜像 对称二叉树c++
合并两单调增链表题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。分别遍历元素比大小,取小值填入新链表树子结构题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)先序遍历,根开始ab一个个比较值,不同a换根,相同比较ab左子右子...原创 2020-08-07 18:52:51 · 145 阅读 · 0 评论 -
链表环入口节点 反转链表c++
链表环入口节点原创 2020-08-07 17:39:54 · 117 阅读 · 0 评论 -
调整数组奇偶顺序c++链表倒数k点
数据结构队列冒泡排序原创 2020-08-07 17:04:53 · 135 阅读 · 0 评论 -
表示数值的字符串c++
表示数值的字符串题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。//正则表达式#include <regex>class Solution {public: bool isNumeric(char* s) { if (!s || *s=='\0原创 2020-08-07 16:20:57 · 365 阅读 · 0 评论 -
正则表达式匹配c++暴力 动态规划
动态规划![原创 2020-08-07 03:45:29 · 174 阅读 · 0 评论 -
打印1到最大n位数c++ 删除链表重复节点
删除链表重复节点原创 2020-08-06 18:54:31 · 98 阅读 · 0 评论 -
二进制1个数c++
二进制1个数无符号右移计数把一个整数和它减去1的结果做位与运算,相当于把它最右边的1变成0原创 2020-08-06 17:54:48 · 295 阅读 · 0 评论 -
机器人运动范围 剪绳子
机器人运动范围地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?...原创 2020-08-05 09:29:32 · 162 阅读 · 0 评论 -
旋转数组最小数字 矩阵中路径c++
一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。...原创 2020-08-04 11:26:36 · 164 阅读 · 0 评论 -
二叉树下一个节点c++两个栈实现队列
原创 2020-08-02 19:14:49 · 107 阅读 · 0 评论 -
重建二叉树c++ 替换空格 逆序链表
逆序链表原创 2020-08-01 20:44:59 · 81 阅读 · 0 评论 -
二维数组查找 不修改数组查重
原创 2020-08-01 13:30:19 · 247 阅读 · 0 评论 -
c++三个方法50.找出数组重复数字
找出数组中重复的数字在一个从度为n的数组里的所有数字都在0~n-1的范围内,数组中某些数字是重复的,但不知道有几个数字重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3....原创 2020-08-01 00:20:03 · 3841 阅读 · 0 评论