摘要: 解题思路 1. 用两个栈分别存字符和数字。 2. 顺序读入字符,处理方式分为字符和数字两种。 3. 处理字符分为')'和非')'两种。 4. 处理数字需要读取字符栈栈顶,分为'+'、' '和非'+'、' '。 代码 c++ class Solution { public: stack st;//数字阅读全文
posted @ 2018-08-25 00:49 zhangjiuding 阅读(15) 评论(0) 编辑
摘要: 解题思路 1. 将每个数字出现的次数存在一个数组num[]中(与顺序无关)。 2. 将出现过的数字i从1到num[i]遍历。(i from 0 to 9) 3. 得到要使用的数字次数数组a[]。 4. 对于每一种a使用排列组合公式:  5. ans += 上面那个公式。(每用一次这个公式对应一个a阅读全文
posted @ 2018-06-24 21:13 zhangjiuding 阅读(73) 评论(0) 编辑
摘要: 面向对象设计原则 1. 对于面向对象的软件系统来说,在支持可维护性的同时,需要提高系统的可复用性。 2. 软件的复用可以提高软件的开发效率,提高软件质量,节约开发成本,改善系统的可维护性。 3. 单一职责原则要求在软件系统中,一个类只负责一个功能领域中的相应职责。 4. 开闭原则要求一个软件实体应当阅读全文
posted @ 2018-06-20 16:47 zhangjiuding 阅读(30) 评论(0) 编辑
摘要: 解题思路 1. 100和+100是没有用的,只要知道左边的飞船轴和右边的飞船轴离y轴一样近即可。为简单起见,我们将左边的轴设为 1,右边的设为1。 2. 某个点能摧毁的飞船一定是因为有两个飞船关于这个点对称。即若( 1,y1)和(1,y2)能互相摧毁,说明他们关于(0,(y1+y2)/2)对称。 3阅读全文
posted @ 2018-06-17 12:33 zhangjiuding 阅读(59) 评论(0) 编辑
摘要: 解题思路(暴力解法) 1. 平行于x轴的正方形和与x轴成45度倾斜的正方形相交的点中必定有整数点。即若两正方形相交,必定存在整数i,j,使(i,j)同时属于两个正方形。 2. 我们把两个正方形中的整数点都找出来,看一下有没有重复点,就可以判断是否相交。 代码 c++ include using na阅读全文
posted @ 2018-06-17 12:15 zhangjiuding 阅读(63) 评论(0) 编辑
摘要: 解题思路 1. 将骑士按力量从小到大排序,到第i个骑士的时候,前面的i 1个骑士他都可以击败,找出金币最多的k个。 2. 用multiset存金币最多的k个骑士的金币数,如果多余k个,则删除金币数最小的,直到只有k个数字。 我就是因为没有用multiset在最后5分钟被hack了。 代码 c++ i阅读全文
posted @ 2018-06-17 12:06 zhangjiuding 阅读(101) 评论(0) 编辑
摘要: 题意 从x数组中找到最多的y数组中有的数字,按在x数组中出现的顺序输出。 注意 这题x数组和y数组都不会出现重复数字。 代码 c++ include using namespace std; typedef long long ll; int x[15],y[15]; int main(){ ios阅读全文
posted @ 2018-06-17 11:54 zhangjiuding 阅读(13) 评论(0) 编辑
摘要: 解题思路:动态规划 1. 遍历点i,如果从前一个点i 1走到这个点i不需要伞,则疲劳值不变dp[i] = dp[i 1]。 2. 如果前一个点i 1走到这一个点i需要伞,则从前面找一把伞。 3. 即遍历前面的每个点j,如果点j处有伞,dp[i] = min(dp[i], dp[j]+(i j) fi阅读全文
posted @ 2018-06-16 20:13 zhangjiuding 阅读(18) 评论(0) 编辑
摘要: 前置问题:51nod 1102 面积最大的矩形 附上链接: "51nod 1102 面积最大的矩形" "这题的题解博客" 需要了解的知识:单调栈,在前置问题中已经讲解。 解题思路 1. 对每行求左边连续1的个数,得到数组a[i][j]; 2. 对于第j列,找出每个位置i的数字a[i][j]上面第一个阅读全文
posted @ 2018-06-16 12:19 zhangjiuding 阅读(9) 评论(0) 编辑
摘要: 题面1:  题面2:  两道题除了数据范围不同,没有任何差异,两道题都可以o(n)(单调栈),o(nlog(n))(我自己的做法)解决。 解题思路1:(单调栈) 1. 对于每个点找到右边第一个比它小的位置con1,并且找到左边第一个比它小的位置con2。 2. 对于每个点更新答案为ans = m阅读全文
posted @ 2018-06-16 11:33 zhangjiuding 阅读(15) 评论(0) 编辑
摘要: 解题思路: 1. 只有尾数为25,50,75,00的数才可能是25的倍数。 2. 对字符串做4次处理,以25为例。 a. 将字符串中的最后一个5移到最后一位。计算交换次数。(如果没有找到5,则不可能凑出25,考虑50、75、00) b. 字符串已经改变,将此时最后一个2移到倒数第二位。计算交换次数。阅读全文
posted @ 2018-06-15 22:00 zhangjiuding 阅读(34) 评论(0) 编辑
摘要: 嵌入式系统的概念 1. 第一种定义 :嵌入式系统是以应用为中心、计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2. 第二种定义 :把基于处理器(通用处理器和嵌入式处理器)的设备成为计算机,把计算机分为两大部分,即通用计算机和嵌入式计算机。嵌入阅读全文
posted @ 2018-06-13 17:19 zhangjiuding 阅读(58) 评论(0) 编辑
摘要: 解题思路: 1.dfs所有的水,顺便计数大小并判断是不是湖。 2.如果是湖,将大小和坐标存下来。 3.对湖按大小从小到大排序。 4.dfs前(湖的数量-k)个湖,用*填充这些湖。 代码:阅读全文
posted @ 2018-06-01 12:00 zhangjiuding 阅读(22) 评论(0) 编辑
摘要: 解题思路: 1.对物品i bfs,更新每个小镇j获得每个物品i的最短距离。 2.时间复杂度o(n*k),满足2s的要求。 代码:阅读全文
posted @ 2018-05-30 17:41 zhangjiuding 阅读(126) 评论(0) 编辑
摘要: 这题真的只能靠直觉了,我没法给出详细证明。 解题思路: 1.交换3n次或者7n+1次,一定会出现一个为奇数,另一个为偶数。 2.用最朴素的方法,将n个数字归位,计算交换次数。 3.判断交换次数是否与3n的奇偶性相同,相同输出Petr; 不相同则一定与7n+1的奇偶性相同,输出Um_nik。 代码:阅读全文
posted @ 2018-05-30 11:30 zhangjiuding 阅读(121) 评论(0) 编辑