刷题
量子孤岛
90后嵌入式工程师,喜欢写作、读书。希望通过文字和大家共同进步!
展开
-
练习题
1. 顺时针旋转数组考点:二维数组索引的对应关系。#include <string>#include <iostream>#include <algorithm>#include <stdio.h>using namespace std;int main(){ int N; cin >> N; int f[12]...原创 2020-03-13 15:17:18 · 494 阅读 · 0 评论 -
最大公约数和最小公倍数的极简代码
最小公倍数int lcm(int a, int b){ for (int i = a;; i++) if (i % a == 0 && i % b == 0) return i;}最大公约数int gcd(int a, int b){ for (int i = a; i; i--) if (a % i =...原创 2019-11-14 15:01:46 · 421 阅读 · 0 评论 -
计算结构体的字节数
错题1.计算字节数struct xx{ long long _x1; char _x2; int _x3; char _x4[2]; static int _x5;};int xx::_x5;sizeof(xx)== 24原因:由于CPU一次读取若干字节的内存数据,所以,为了方便存取,编译器可以指定结构体的对齐方式。静态成员放置在静态区而不占用结构体内存,所以将其忽略。...原创 2019-09-27 14:36:42 · 582 阅读 · 0 评论 -
翻转单词顺序列
简版链接class Solution {public: string ReverseSentence(string str) { for (int i = 0, j = str.size() - 1; i < j; i++, j--) swap(str[i], str[j]); for (int i = 0...原创 2019-09-21 16:37:41 · 117 阅读 · 0 评论 -
练习题
第一题用指针依次寻找数组内的数字,反复利用sum = sum * 10 + s[i] - '0'根据题意:Ai<=BjA_i<=B_jAi<=BjAiA_iAi找不到R范围内的BjB_jBj,则列出最近的BjB_jBj(仍满足条件1)仍找不到则丢弃AiA_iAi测试样例:A={11,13,15},B={12,14,16},R=1时间复杂度:**...原创 2019-09-18 10:22:05 · 852 阅读 · 0 评论 -
练习题
大大小小笔试题也做了一些了,今天想回忆着将这些题目总结一下。第一题 字符串排序输入一个字符串,如abED123**&&%==,将字符串重排序,要求是:数字放在最前面;大写放在第二顺位;小写放在第三顺位;其他字符放在最后。分析:这题直接遍历即可,相对容易。代码如下:#include <iostream>#include <cstring&...原创 2019-09-16 18:31:59 · 276 阅读 · 0 评论 -
字符串需要注意的一些细节
输入字符串中带空格 使用getline(cin, s);其中需要包含头文件#include <string>使用toupper()或tolower()将字符转换大小写数字数组排序后去重sort(arr.begin(), arr.end());arr.erase(unique(arr.begin(), arr.end()), arr.end());相同字符串str1....原创 2019-09-13 15:42:06 · 304 阅读 · 0 评论 -
dp:最长公共子序列问题
#include<iostream>#include <cstring>#include <vector>#include <algorithm>using namespace std;const int N = 1010;int m, n;char a[N], b[N];int f[N][N]; // 生命全局全为0保证r1 ...原创 2019-08-30 15:06:33 · 131 阅读 · 0 评论 -
dp中的滚动数组
滚动数组滚动数组是用时间换空间的一种优化思想。简单的理解就是每次都使用固定的几个存储空间达到压缩节省存储空间的作用,主要应用在递推或动态规划中(如01背包问题)。因为DP题目是一个自底向上的扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。引子:LeetCode62二维数组dpclass So...原创 2019-08-29 10:16:56 · 1192 阅读 · 0 评论 -
链表总结
1.反转链表输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL递归方法(O(n))(O(n))(O(n))/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNod...原创 2019-08-26 15:27:03 · 144 阅读 · 0 评论 -
dp总结
LeetCode53:最大子序和(动态规划) O(n)设f(i)f(i)f(i)表示以第 i个数字为结尾的最大连续子序列的 和 是多少。初始化$ f(0)=nums[0]$。转移方程 f(i)=max(f(i−1)+nums[i],nums[i]))f(i)=max(f(i−1)+nums[i],nums[i]))f(i)=max(f(i−1)+nums[i],nums[i]))。可以理...原创 2019-08-26 14:48:44 · 190 阅读 · 0 评论