2019年3月12日

摘要: 思路是,设立两个下标,都从逆序开始。因为是有序的数组,所以从最后开始,把更大的值传到nums1中。 经过比较后,如果nums2还有值的话,就把nums2剩下的值传进nums1中即可。 python: python就简单很多,直接合并数组,然后排序。。。=。= 阅读全文
posted @ 2019-03-12 17:19 嘎嘎南方国家法规 阅读(142) 评论(0) 推荐(0) 编辑
 
摘要: 自己写的,思路简单,但是写的有点复杂了。 主要思路就是 设置两个结点指针,然后一个节点从头开始,另一个节点在它之后依次移动,找到相等的值就删去这个节点。 有些地方复杂了就是多了点处理,首先开始判断传进来的链表,空的话返回空,只有头的话就返回头。 然后在循环过程中发现,比如 1 1 这种情况,所以在循 阅读全文
posted @ 2019-03-12 16:40 嘎嘎南方国家法规 阅读(111) 评论(0) 推荐(0) 编辑
 
摘要: n=1的时候值为1,n=2的时候值为2。n等于3的时候值为3,f3=f1+f2 是典型的斐波那契数列 所以求n阶需要多少步,其实就是求f(n)的过程。 python: 阅读全文
posted @ 2019-03-12 12:20 嘎嘎南方国家法规 阅读(168) 评论(0) 推荐(0) 编辑
 
摘要: 这里思路是: 创建一个字符串数组result 其长度等于函数传进的两个数组中长度更长的+2,末位len-1设为\0为字符串终止符。循环从len-2开始,循环的条件是 len1,len2,flag其中有一者不为0即可。 循环内的两个if,很好的规避了补0的问题,因为如果数组位数不足的话,那么肯定那里就 阅读全文
posted @ 2019-03-12 11:26 嘎嘎南方国家法规 阅读(205) 评论(0) 推荐(0) 编辑
 
摘要: 这里要注意取值范围,用long比较合适。思路也挺简单的,循环到目标值的一半即可,然后两个判断,要么相等,要么当前值平方小于目标值,当前值加1的平方大于目标值。 python: python用的是二分法。 阅读全文
posted @ 2019-03-12 10:12 嘎嘎南方国家法规 阅读(164) 评论(0) 推荐(0) 编辑

2019年3月11日

摘要: 这里要考虑999这样的,需要再多一位,考虑1999这样的,或者111这种普通的。 然后if判断,仔细一点就很简单。最后统计新数组的长度(如果首位不进位的话就和原数组长度一样,否则多一位) 返回整个数组(这里用到一个memcpy函数,直接复制了,也可以建立个循环,自己挨个赋值拷贝过去) python: 阅读全文
posted @ 2019-03-11 12:57 嘎嘎南方国家法规 阅读(128) 评论(0) 推荐(0) 编辑
 
摘要: 这道题的思路是,数组逆序查找,如果当前的值不是空格,就把计数器加一,如果是空格的话就break。 但是如果这么写的话就考虑不到后面几位是空格的情况。 所以加了一句 else if(count) break; 其实就是把多种情况融合成一种,就是当我们的计数器等于一的时候会有两种情况: 1.这个字符刚刚 阅读全文
posted @ 2019-03-11 12:22 嘎嘎南方国家法规 阅读(171) 评论(0) 推荐(0) 编辑
 
摘要: 这是自己的傻屌代码。。。运行效率及其差。 核心思想就是,先进行两层循环,然后逐一的比较大小赋予max新的值。 然后再进行一轮循环,找出是否有单个值就大于max的值,有的话赋予max新的值。 所以时间复杂度达到了O(n²+n) 这道题真正的解法应该是用动态规划的方法: 设sum[i]为以第i个元素结尾 阅读全文
posted @ 2019-03-11 10:35 嘎嘎南方国家法规 阅读(135) 评论(0) 推荐(0) 编辑

2019年3月8日

摘要: 这里就在数组中循环,找到比target大或者等于的位置就好。如果找不到的话,那target肯定就是最大的,返回numsize就行。 python: 阅读全文
posted @ 2019-03-08 09:19 嘎嘎南方国家法规 阅读(107) 评论(0) 推荐(0) 编辑
 
摘要: c语言自然是应用最最著名的kmp(看毛片)算法。 这个算法的理解可以参考: https://www.cnblogs.com/yjiyjige/p/3263858.html python: python是真的简单,运用切片就能达到想要的目的了。 阅读全文
posted @ 2019-03-08 08:54 嘎嘎南方国家法规 阅读(140) 评论(0) 推荐(0) 编辑