package array; /** * @ProjectName: leetcode * @Package: array * @ClassName: Array724 * @Author: markey * @Description: * 724. å¯»æ¾æ°ç»çä¸å¿ç´¢å¼ * ç»å®ä¸ä¸ªæ´æ°ç±»åçæ°ç»Â numsï¼è¯·ç¼åä¸ä¸ªè½å¤è¿åæ°ç»âä¸å¿ç´¢å¼âçæ¹æ³ã * * æä»¬æ¯è¿æ ·å®ä¹æ°ç»ä¸å¿ç´¢å¼çï¼æ°ç»ä¸å¿ç´¢å¼ç左侧ææå ç´ ç¸å çåçäºå³ä¾§ææå ç´ ç¸å çåã * * 妿æ°ç»ä¸åå¨ä¸å¿ç´¢å¼ï¼é£ä¹æä»¬åºè¯¥è¿å -1ã妿æ°ç»æå¤ä¸ªä¸å¿ç´¢å¼ï¼é£ä¹æä»¬åºè¯¥è¿åæé è¿å·¦è¾¹çé£ä¸ä¸ªã * * ç¤ºä¾ 1: * * è¾å ¥: * nums = [1, 7, 3, 6, 5, 6] * è¾åº: 3 * è§£é: * ç´¢å¼3 (nums[3] = 6) ç左侧æ°ä¹å(1 + 7 + 3 = 11)ï¼ä¸å³ä¾§æ°ä¹å(5 + 6 = 11)ç¸çã * åæ¶, 3 乿¯ç¬¬ä¸ä¸ªç¬¦åè¦æ±çä¸å¿ç´¢å¼ã * ç¤ºä¾ 2: * * è¾å ¥: * nums = [1, 2, 3] * è¾åº: -1 * è§£é: * æ°ç»ä¸ä¸å卿»¡è¶³æ¤æ¡ä»¶çä¸å¿ç´¢å¼ã * 说æ: * * nums çé¿åº¦èå´ä¸ºÂ [0, 10000]ã * ä»»ä½ä¸ä¸ªÂ nums[i] å°ä¼æ¯ä¸ä¸ªèå´å¨Â [-1000, 1000]çæ´æ°ã * * æ¥æºï¼åæ£ï¼LeetCodeï¼ * 龿¥ï¼https://leetcode-cn.com/problems/find-pivot-index * è使å½é¢æ£ç½ç»ææãåä¸è½¬è½½è¯·èç³»å®æ¹ææï¼éåä¸è½¬è½½è¯·æ³¨æåºå¤ã * @Date: 2020/4/1 22:09 * @Version: 1.0 */ public class Array724 { public int pivotIndex(int[] nums) { int sum = 0, leftsum = 0; for (int x: nums) sum += x; for (int i = 0; i < nums.length; ++i) { if (leftsum == sum - leftsum - nums[i]) return i; leftsum += nums[i]; } return -1; } }