首页 > 其他 > 详细

leetcode 0207

时间:2020-02-07 14:42:11      阅读:74      评论:0      收藏:0      [点我收藏+]

? 561. 数组拆分 I

https://leetcode-cn.com/problems/array-partition-i

技术分享图片

? 1025. 除数博弈

https://leetcode-cn.com/problems/divisor-game

技术分享图片

? 557. 反转字符串中的单词 III

https://leetcode-cn.com/problems/reverse-words-in-a-string-iii

技术分享图片

  • my c ans:
char * reverseWords(char * s){
    int n = strlen(s);
    int begin = 0, end;
    for(int i = 0; i < n + 1; i++) {
        // i travel to a word end(aka the blank or end0 after a word)
        if(s[i] == ' ' || s[i] == '\0') {
            for (end = i - 1; begin < end; begin++, end--) {
                int tmp = s[begin];
                s[begin] = s[end];
                s[end] = tmp;
            }
            begin = i + 1;// begin no locate the start of next word
        }
    }
    return s;
}

执行用时 :
12 ms
, 在所有 C 提交中击败了
58.89%
的用户
内存消耗 :
8.2 MB
, 在所有 C 提交中击败了
87.22%
的用户

py 中的 字符 split 与 列表 倒序的 组合手法疑问

  • 结果:

技术分享图片

  • 代码如下:

技术分享图片

? 852. 山脉数组的峰顶索引

https://leetcode-cn.com/problems/peak-index-in-a-mountain-array

技术分享图片

int peakIndexInMountainArray(int* A, int ASize){
    int max = 0;
    int soldier = 0;
    for (; soldier < ASize - 1; soldier++) {
        if(A[soldier] > A[max]) {
            max = soldier;
        }
    }
    return max;
}

执行用时 :
16 ms
, 在所有 C 提交中击败了
50.41%
的用户
内存消耗 :
7.6 MB
, 在所有 C 提交中击败了
84.08%
的用户

提升,by knowing 山顶的唯一性

int peakIndexInMountainArray(int* A, int ASize){
    int soldier = 0;
    for (; A[soldier] < A[soldier + 1]; soldier++) {
        //do nothing
    }
    return soldier;
}

执行用时 :
24 ms
, 在所有 C 提交中击败了
9.92%
的用户
内存消耗 :
7.7 MB
, 在所有 C 提交中击败了
24.08%
的用户

leetcode 0207

原文:https://www.cnblogs.com/paulkg12/p/12272295.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!