算法
孤独的拉普拉斯
菜鸟级程序员
展开
-
58同城笔试:后端开发编程题
1.找出二维字符数组里行字符数组所共有的字符例子:输入:{{“you”,“are”,“pig”,“dog”},{“is”,“as”,“you”,“are”},{“kik”,“you”,“are”,“aoa”}}输出:{“you”,“are”}class Solution {public: /** * * @param values string字符串二维数组 * @param valuesRowLen int values数组行数 * @param valuesColLen in原创 2020-08-31 21:42:03 · 566 阅读 · 0 评论 -
二叉树的前序,中序和后序遍历的递归与迭代代码
前序遍历递归借助的程序的运行时栈,所以改为迭代时,本质上借助stack去模拟运行时栈。递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti原创 2020-08-06 21:01:49 · 168 阅读 · 0 评论 -
POJ1008
地址:http://poj.org/problem?id=1008不知道自己为啥一直Runtime Error,现贴出来,望大佬指导,感激不尽。#include "pch.h"#include<string>#include <iostream>using namespace std;int sl3;string sl1;string sl2;int Ha...原创 2019-08-02 08:43:01 · 259 阅读 · 0 评论 -
POJ1007
DNAsorting#include <iostream>#define maxn 51#define maxm 100char a[maxm][maxn];using namespace std;void DNAsort(char a[maxm][maxn], int n, int m){ int co[maxm]; memset(co, 0, sizeof(co)...原创 2019-07-23 14:37:26 · 156 阅读 · 0 评论 -
POJ1005
题:http://poj.org/problem?id=1005#include<iostream>using namespace std;#define maxn 100000double ero[maxn];#define pi 3.141592654int main(){ for (int i = 0; i < maxn; i++) {...原创 2019-07-23 14:34:50 · 148 阅读 · 0 评论 -
POJ1004
include<iostream>using namespace std;int main(){ double mycount[12], a=0; for (int i = 0; i < 12; i++) { cin >> mycount[i]; } for (int i = 0...原创 2019-07-23 14:33:27 · 96 阅读 · 0 评论 -
POJ1003
题:http://poj.org/problem?id=1003#include<iostream>#define maxn 1000005double a[maxn];using namespace std;int hangover( double x){ int i; for (i = 1; i < maxn; i++) a[i] = a[i - 1] +...原创 2019-07-23 14:31:02 · 88 阅读 · 0 评论 -
POJ 1001
DescriptionProblems involving the computation of exact values of very large magnitude and precision are common. For example, the computation of the national debt is a taxing experience for many compu...转载 2019-07-16 15:47:12 · 181 阅读 · 0 评论 -
POJ 1002
DescriptionBusinesses like to have memorable telephone numbers. One way to make a telephone number memorable is to have it spell a memorable word or phrase. For example, you can call the University o...转载 2019-07-18 10:32:22 · 136 阅读 · 0 评论 -
POJ 翻转卡片
分析:根据题目要求可知:全局正面朝上=所有的局部正面朝上。这也意味着贪心+递归是解题核心思路,即所有局部正面朝上构成了整体正面朝上。#include<iostream>#include<stdio.h>using namespace std;bool a[1000][1000];int N, M;int num = 0;void f(int x){ if...原创 2019-07-14 09:36:22 · 240 阅读 · 0 评论 -
KMP
include<iostream>using namespace std;int *buildNext(char *P) { size_t m = strlen(P), j = 0; int *N = new int[m]; int t = N[0] = -1; while (j < m - 1) { if (0 > t || P[j] == P[t]) ...原创 2019-07-10 10:39:48 · 90 阅读 · 0 评论 -
快速排序
快速排序算法是分治策略的典型应用,主要利用轴点将待排序序列分为两段序列,且轴点左侧序列的元素值不大于轴点元素值,轴点右侧序列的元素值不小于轴点元素值。然后在分别在两侧在寻找自身轴点,如此反复递归,直到递归逐层返回有序序列,最终组成一整个有序序列。**由此,可知其算法核心为为如何定位轴点。**C++代码如下所示:在这里插入代码片...原创 2019-07-10 10:33:45 · 100 阅读 · 0 评论