📣 独立日限时特惠: VIP通行证立减$68
查看: 4456| 回复: 6
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 请教如何考虑全面corner case

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
请问大家 做题时候的corner case怎样才能考虑比较全面呢?比如Linked List问题中NULL,单一node,等等。

比如LeetCode里面 Remove Nth node from the end这道题。特殊情况有:
1. NULL , n =0
2. NULL, n>0;
3. one node, n=1;
4. one node, n=0;
5. one node, n>1;
6. general, n>length;
7. general, n= length;

已晕。各位有没有什么经验share,怎样才能考虑比较全面?

谢啦!:)

上一篇:位操作的题也是醉了
下一篇:Google: Read4k
全局:
你说的是Remove Nth Node From End of List  这题么???
回复

使用道具 举报

全局:
我一直是用python写的 希望你可以看得明白吧
我这种思路绝对不是最好的!!!!最好的思路我看过是用两个node算出两个node的距离等于n 然后两个一起往后跑 后面的到底了就return前面那个
我的思路很SB 就是一个node跑到底 然后开始计数 然后往回跑 跑到n的位置return



# Definition for singly-linked list.
#class ListNode:
#    def __init__(self, x):
#        self.val = x
#        self.next = None

class Solution:
    # @return a ListNode
    def removeNthFromEnd(self, head, n):
        if (head == None):
            return head
        if (head.next == None):
            if(n == 1):
                head = None
                return head
            if(n == 2):
                return head.next
        temp=ListNode(0)
        temp.next = head
        self.helper(temp, 0 , n)
        return temp.next

    def helper(self, node, currentN, n):

        if (node.next != None):
            currentN = self.helper(node.next, currentN, n)
        else:
            return currentN + 1

        if (currentN == n):
            node.next = node.next.next


        return currentN + 1


回复

使用道具 举报

🔗
dmsehuang 2014-11-1 13:07:29 | 只看该作者
全局:
我也想问做test工作的人怎么去获得test case,怎么去验证test case的正确性。都是人工么?
回复

使用道具 举报

🔗
 楼主| handsomelady 2014-11-2 06:04:55 | 只看该作者
全局:
真爱你的云 发表于 2014-11-1 02:50
我一直是用python写的 希望你可以看得明白吧
我这种思路绝对不是最好的!!!!最好的思路我看过是用两个n ...

是这道题,但是我的问题不是怎么实现,而是怎样考虑全面特殊情况~~ 感觉自己常常想不全,或者花很久。想请教有么有更general的考虑边界情况的方法~
回复

使用道具 举报

🔗
 楼主| handsomelady 2014-11-2 06:05:09 | 只看该作者
全局:
dmsehuang 发表于 2014-11-1 13:07
我也想问做test工作的人怎么去获得test case,怎么去验证test case的正确性。都是人工么?

对的~ 我就是这里不明白。。。
回复

使用道具 举报

🔗
dmsehuang 2014-11-2 06:48:14 | 只看该作者
全局:
handsomelady 发表于 2014-11-2 06:05
对的~ 我就是这里不明白。。。

似乎楼主帖子没有招来牛逼tester来回答呀。
我在stackoverflow上面看了一下问题,最佳回答是说,那些top coder的思路很牛,然后他们只需要测corner case就可以了,general case一般都正确。。。我就无语了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表