# coding:utf-8 """å®ä¹ä¸ä¸ªå½æ°ï¼åå为sameSums(aList)ï¼alistæ¯ä¸ä¸ªæ´å½¢list(éå®éå¤å
ç´ ä¸è¶
è¿2个,æ2f0eé¤è¿æ ·çlistï¼å
ç´ åå差为1ï¼[4,5,6,7,8])ï¼å½æ°ä½ç¨æ¯å¤æè½åæ两ç»ï¼ä½¿å¾ä¸¤ç»æ°åçåç¸çãè¥å¯ä»¥æ©è¿åå¼æ¯trueï¼è¥ä¸å¯ä»¥è¿åå¼æ¯falseãå¦ä¸ä¾ï¼sameSums([4, 7, 6, 3]) --> True //4+6 = 10 and 7 + 3 = 10sameSums([3, 3]) --> TruesameSums([4, 12, 16]) --> True //4+12= 16 and 16sameSums([5, 1]) --> False ç¹å«æ示ï¼è¿ä¸ªé¢ç®ï¼è´ªå¿ç®æ³åªè½è®¡ç®ä¸é¢è¿æ ·çæ
åµãè¿ä¸ªé¢ç®ï¼å¯¹åå¦è
æ¥è¯´ï¼æç¹é¾åº¦ï¼ä½ç¨å¾®æç¹ç®æ³åºç¡ï¼ç¼ç¨æè·¯ï¼å°±ä¸é¾ãå
讲ä¸ä¸ªæ
äºï¼äºä¸ªå°å©å¿æ¶ä»æ ä¸éæ¿æ ï¼æåå并ä¸å ï¼åæ¿æ ï¼ééä¸äººéä¸ä¸ªçåãåå®äººæ§æ¯è´ªå©ªçï¼ç¬¬ä¸ä¸ªå
éç人ï¼éæ大çï¼ç¬¬äºä¸ªéç人ï¼é次大çï¼ä¸ç´å¾ªç¯ä¸å»ãè´ªå¿ç®æ³ï¼å称贪婪ç®æ³ï¼æ¯æï¼å¨å¯¹é®é¢æ±è§£æ¶ï¼æ»æ¯ååºå¨å½åçæ¥æ¯æ好çéæ©ãä¹å°±æ¯è¯´ï¼ä¸ä»æ´ä½æä¼ä¸å 以èèï¼ä»æååºçæ¯å¨æç§æä¹ä¸çå±é¨æä¼è§£ãè¿ä¸ªé¢ç®ï¼å
å°listä»å¤§å°å°æåºï¼ä¸é´è®¾ç½®2个空çlistï¼ä»å¤§çå¼å§éï¼ä¸ä¸æ¬¡éçæ¶åï¼éè¦æ¯è¾ä¸ä¸åï¼å¦æè°çåå°ï¼åæ·»å ä¸ä¸ªï¼ç´å°æåä¸ä¸ªå
ç´ ã """ def sameSums(int_list): """
www.iplaypy.com pythonæç¨ """ >>> sameSums([4, 7, 6, 3]) True >>> sameSums([3, 3]) True >>> sameSums([4, 12, 16]) True >>> sameSums([5, 1]) False """ new_lst = sorted(int_list, reverse=True) list1 = list() list2 = list() for n in new_lst: if sum(list1) < sum(list2): list1.append(n) else: list2.append(n) return sum(list1) == sum(list2) if __name__ == "__main__": import doctest doctest.testmod() lst = [3, 9, 10, 30, 8] print sameSums(lst)
追é®ä½ 好ï¼è°¢è°¢æ¨ç»åºçæ³æ³ä¸åæï¼è¯·é®å¯ä»¥æè¿éé¢çæºä»£ç ï¼çæ¡ï¼ç»æåï¼