首页 > 其他 > 详细

leetcode 0209

时间:2020-02-09 12:36:50      阅读:74      评论:0      收藏:0      [点我收藏+]

? 500. 键盘行

https://leetcode-cn.com/problems/keyboard-row

描述

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘就是你的键盘那样,自己看看。

示例:

输入: ["Hello", "Alaska", "Dad", "Peace"]
输出: ["Alaska", "Dad"]

解答

  • 思路: 构造三个 array

a1 a2 a3

检查每个单词第一个字符在 aX 里:
检查 每个单词2到最后的字符,在aX里面不
是则 留下
否则 不留下
最后打印出来 留下的 所有单词

  • c

  • py

? 905. 按奇偶排序数组

https://leetcode-cn.com/problems/sort-array-by-parity

描述

给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。

你可以返回满足此条件的任何数组作为答案。

解答

  • 思路

排序,需要循环,判断比较,交换。本题对排序算法的排序条件的掌握,将常规排序条件从比大小变为判断奇偶。

? 500. 键盘行

https://leetcode-cn.com/problems/maximum-depth-of-n-ary-tree

描述

给定一个 N 叉树,找到其最大深度。

最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。

例如,给定一个 3叉树 :

            1
          / |          3  2  4
        /        5   6

我们应返回其最大深度,3。

说明:

树的深度不会超过 1000。
树的节点总不会超过 5000。

解答

第一种想法是DFS递归写法求N叉树的深度。第二种想法是层序遍历N叉树求N叉树深度。

? 349. 两个数组的交集

https://leetcode-cn.com/problems/intersection-of-two-arrays

描述

给定两个数组,编写一个函数来计算它们的交集。

示例 1:
输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]

示例 2:

输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]

说明:
输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。

解答

  • set api in java or py or c++ ; no c solution?

他人c解答


#include <stdlib.h>
int cmp ( const void *a , const void *b ) 
{
    return *(int *)a - *(int *)b; 
}
int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){
    if(nums1Size==0 || nums2Size==0){
        *returnSize = 0;
        return 0;
    }
    
    int max = (nums1Size>nums2Size) ? nums1Size : nums2Size;

    int* bot = (int*)malloc(sizeof(int)*max);
    int i, j, k = 0, u, z = 1;
    for(i = 0; i < nums1Size; i++){
        for(j = 0; j < nums2Size; j++)
            if(nums1[i]==nums2[j]){
                bot[k++] = nums1[i];
                continue;
            }
    }

    if(k==0){
        *returnSize = 0;
        return 0;
    }

    // 对u排序
    qsort(bot,k,sizeof(bot[0]),cmp);

    for(u = 1; u < k; u++){
        if(bot[z-1]==bot[u]) continue;
        else bot[z++] = bot[u];
    }
    
    *returnSize = z;
    return bot;
}

作者:logan-31
链接:https://leetcode-cn.com/problems/intersection-of-two-arrays/solution/cyu-yan-jian-bian-suan-fa-by-logan-31/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

leetcode 0209

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

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