摘要:
题目描述:在一个M * N的矩阵中,所有的元素只有0和1,从这个矩阵中找出一个面积最大的全1子矩阵,所谓最大是指元素1的个数最多Leetcode 原题, 没有案例就是跪, WA 到没脾气代码 未通过九度测试#include #include #include #include #include using namespace std;int m, n;int matrix[1001][1001];int rectangle[1001];int largestHis() { int global = 0; deque stack; for(int i = 0; i < n; i... 阅读全文
摘要:
题目描述:在读高中的时候,每天早上学校都要组织全校的师生进行跑步来锻炼身体,每当出操令吹响时,大家就开始往楼下跑了,然后身高矮的排在队伍的前面,身高较高的就要排在队尾。突然,有一天出操负责人想了一个主意,想要变换一下队形,就是当大家都从楼上跑下来后,所有的学生都随机地占在一排,然后出操负责人从队伍中抽取出一部分学生,使得队伍中剩余的学生的身高从前往后看,是一个先升高后下降的“山峰”形状。据说这样的形状能够给大家带来好运,祝愿大家在学习的道路上勇攀高峰。(注,山峰只有一边也符合条件,如1,1、2,2、1均符合条件)思路1. 这道题我还蛮想总结一下, 因为与之类似的一道题 Candy 当时就把我做 阅读全文
摘要:
题目描述:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路1. 最初的想法是比较两个数时, 较短的数末尾补最后一个数, 比如 233, 23 -> 233, 233. 然后判断会变得比较复杂2. 正好昨晚和室友闲聊, 谈到说到这道题, 才知道末尾补第一个数才是正解. 233, 23 -> 233, 2323. 剑指 offer 上的解法更是简单粗暴, 直接将两个数拼出来看看就得了. 233, 23 -> 23233, 233234. 看完剑指 o 阅读全文
摘要:
题目描述:输入一个二叉树,输出其镜像。思路1. 二叉树镜像的判定, 镜像树的建立是类似的题目.2. 代码的框架是 func(root1, root2). 函数体内部是 func(root1->left, root->right), func(root->left, root->right)3. 建立的方法都是 bottomUp, 这个过程可以通过 func 的返回实现, 也可以通过参数实现.代码 未通过九度测试, 以后再改吧#include #include #include #include #include using namespace std;char arr[ 阅读全文
摘要:
题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。总结剑指 offer 原题, 要注意负数移位是永远到不了 0 的代码#include #include using namespace std;int count1(int x) { int cnt = 0; while(x != 0) { x = x&(x-1); cnt ++; } return cnt;}int main() { //freopen("testcase.txt", "r", stdin); int n; while(scanf("... 阅读全文