![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
coding
hello-world-yg
人工智能,机器视觉
展开
-
leetcode_6_ZigZag Conversion
之字形的排列要点: 1.首位的间隔一样, 2.中间的间隔不一样, 3.如果nRows=1的话直接返回原始字符串. string convert(string s, int numRows){ int len = s.length(); int startGap = (numRows-1) * 2; int lable = 0; string resStr=""; in原创 2017-10-17 23:21:44 · 186 阅读 · 0 评论 -
LeetCode_7_Reverse Integer
int reverse(int x) { long long remain = 0; int absX = abs(x); while (absX>0) { remain = remain * 10 + absX % 10; absX = absX / 10; } if (remain>INT_MAX) return 0; if (x<0) r原创 2017-10-18 16:17:49 · 185 阅读 · 0 评论 -
数组翻转
解题思路1: 1.先找出非升序排列的那一段,标记为start和end,找出的思路是:从前向后遍历如果发现有后面的数大于前面的数那么这就是start的位置,然后break,从后向前遍历,如果有个数比start位置的数小,则end的位置就确定了; 2.根据找出的start和end的位置,end处的数是不是比start-1处的数大,start处的数是不是比end+1处的数小,注意不能越界; 3原创 2017-10-11 15:28:17 · 646 阅读 · 0 评论 -
约德尔测试
只需要判断历史字符串中对应的应该用1还是0来表示就解决问题。 1.接受输入的可以是字符数组(char[])也可以是字符串(string); 2.判断是字母或者数字的时候要用&&而不能用连续不等号,这是出错点; 3.相除的时候保证是float型,就要确保运算的过程有float型的变量或者常量参与运算; 4.保留小数位数; #include #include "string.h" #i原创 2017-10-12 14:57:49 · 288 阅读 · 0 评论 -
路灯
1.排序数组; 2.计算数组元素间最大的间隔; 3.考虑首尾的特殊情况; 4.精度问题; 5.数组越界问题。 #include #include #include using namespace std; int main() { long n,l; double d=0; cin >> n >> l; int ai[n+1];原创 2017-10-13 10:48:25 · 327 阅读 · 0 评论 -
leetcode_5_LongestPalindromicSubstring
寻找字符串中的最大回文串. 思路: 1.从前往后遍历,找到最前最后相同的字符; 2.判断这个子串是否比之前的回文串长; 3.比之前的回文串长则继续判断该子串是否为回文串; 4.是回文串则记录下来; 5.以上是判断回文串大于2的情况,当回文串没有超过1的情况,另做讨论. 优化: 1.循环中后面剩余的字符串小于当前的最大回文串,则停止不需要继续向后判断; 2.判断回文串的过程原创 2017-10-15 20:58:16 · 181 阅读 · 0 评论 -
leetcode_13_Roman to Integer
本题就是找到规律,根据几个字母的规律组成相对应的整数。 1. 找规律需要列出来大部分的项,然后认真比对找; 2.被减的因子只能是1,10或者100; 3.相减的项只有一次,就是只减一次,减去一个1,一个10,或者一个100; 4.只有特定的字符减去特定的字符,比如10和5去减1;50和100去减10;500和1000去减100. 根据以上的规律,控制的因素比较多,那么根据这些控制的因素就原创 2017-11-06 10:30:33 · 199 阅读 · 0 评论