FPEvalDataset/LeetCodeProblem
0304
1{2 "id": 2867,3 "name": "ways_to_split_array_into_good_subarrays",4 "difficulty": "Medium",5 "link": "https://leetcode.com/problems/ways-to-split-array-into-good-subarrays/",6 "date": "2023-06-18 00:00:00",7 "task_description": "You are given a binary array `nums`. A subarray of an array is **good** if it contains **exactly** **one** element with the value `1`. Return _an integer denoting the number of ways to split the array _`nums`_ into **good** subarrays_. As the number may be too large, return it **modulo** `109 + 7`. A subarray is a contiguous **non-empty** sequence of elements within an array. **Example 1:** ``` **Input:** nums = [0,1,0,0,1] **Output:** 3 **Explanation:** There are 3 ways to split nums into good subarrays: - [0,1] [0,0,1] - [0,1,0] [0,1] - [0,1,0,0] [1] ``` **Example 2:** ``` **Input:** nums = [0,1,0] **Output:** 1 **Explanation:** There is 1 way to split nums into good subarrays: - [0,1,0] ``` **Constraints:** `1 <= nums.length <= 105` `0 <= nums[i] <= 1`",8 "public_test_cases": [9 {10 "label": "Example 1",11 "input": "nums = [0,1,0,0,1]",12 "output": "3 "13 },14 {15 "label": "Example 2",16 "input": "nums = [0,1,0]",17 "output": "1 "18 }19 ],20 "private_test_cases": [21 {22 "input": [23 1,24 0,25 1,26 0,27 1,28 0,29 0,30 1,31 1,32 1,33 0,34 1,35 1,36 0,37 1,38 0,39 1,40 1,41 0,42 1,43 1,44 0,45 1,46 1,47 0,48 1,49 0,50 0,51 1,52 1,53 0,54 0,55 1,56 0,57 1,58 1,59 1,60 1,61 1,62 0,63 0,64 0,65 0,66 0,67 1,68 1,69 1,70 0,71 1,72 0,73 1,74 1,75 0,76 1,77 1,78 0,79 1,80 0,81 1,82 0,83 1,84 0,85 0,86 0,87 0,88 0,89 1,90 1,91 1,92 1,93 1,94 0,95 0,96 1,97 1,98 1,99 0,100 0,101 1,102 0,103 0,104 0,105 0,106 1,107 1,108 1,109 0,110 0,111 1,112 1,113 1,114 1,115 0,116 1,117 0,118 1,119 0,120 1,121 0,122 1,123 1,124 1,125 0,126 0,127 1,128 1,129 1,130 0,131 1,132 1,133 1,134 1,135 1,136 0,137 0,138 0,139 0,140 1,141 1,142 0,143 1,144 1,145 1,146 0,147 0,148 1,149 1,150 0,151 0,152 1,153 0,154 0,155 1,156 1,157 1,158 0,159 1,160 1,161 0,162 0,163 1,164 0,165 1,166 0,167 0,168 0,169 0,170 1,171 1,172 0,173 0,174 1,175 0,176 0,177 0,178 1,179 1,180 1,181 1,182 1,183 0,184 1,185 0,186 1,187 0,188 0,189 0,190 0,191 1,192 0,193 0,194 0,195 0,196 0,197 1,198 1,199 0,200 0,201 0,202 0,203 1,204 0,205 0,206 1,207 0,208 0,209 0,210 1,211 0,212 1,213 0,214 1,215 0,216 1,217 0,218 0,219 1,220 0,221 0,222 0,223 1,224 1,225 1,226 1,227 1,228 0,229 0,230 0,231 1,232 0,233 0,234 1,235 0,236 1,237 0,238 1,239 1,240 1,241 1,242 0,243 1,244 1,245 0,246 1,247 0,248 0,249 1,250 0,251 1,252 1,253 0,254 1,255 1,256 1,257 1,258 1,259 0,260 0,261 0,262 0,263 1,264 0,265 1,266 1,267 1,268 0,269 1,270 0,271 0,272 1,273 0,274 0,275 1,276 1,277 0,278 0,279 1,280 0,281 0,282 1,283 1,284 0,285 1,286 1,287 1,288 1,289 0,290 1,291 0,292 0,293 1,294 0,295 1,296 1,297 1,298 1,299 0,300 1,301 1,302 0,303 1,304 1,305 1,306 1,307 1,308 0,309 0,310 0,311 0,312 1,313 0,314 1,315 1,316 1,317 1,318 1,319 0,320 1,321 0,322 1,323 1,324 0,325 0,326 0,327 1,328 1,329 0,330 0,331 0,332 1,333 1,334 0,335 0,336 1,337 0,338 0,339 1,340 1,341 1,342 1,343 0,344 1,345 0,346 1,347 1,348 1,349 0,350 0,351 1,352 1,353 0,354 1,355 0,356 0,357 1,358 1,359 0,360 1,361 0,362 1,363 0,364 1,365 1,366 0,367 1,368 0,369 0,370 1,371 1,372 0,373 1,374 1,375 0,376 0,377 0,378 1,379 0,380 1,381 0,382 0,383 1,384 0,385 1,386 1,387 1,388 1,389 1,390 0,391 0,392 1,393 0,394 0,395 1,396 0,397 0,398 0,399 0,400 1,401 0,402 0,403 0,404 0,405 0,406 1,407 0,408 0,409 0,410 1,411 1,412 1,413 0,414 0,415 0,416 1,417 0,418 1,419 0,420 0,421 0,422 0,423 0,424 0,425 0,426 0,427 0,428 0,429 1,430 0,431 1,432 0,433 1,434 0,435 0,436 0,437 1,438 1,439 1,440 0,441 1,442 1,443 0,444 1,445 0,446 1,447 1,448 1,449 0,450 1,451 0,452 0,453 1,454 0,455 1,456 0,457 1,458 1,459 0,460 1,461 0,462 0,463 1,464 0,465 0,466 0,467 0,468 1,469 1,470 0,471 0,472 0,473 1,474 0,475 0,476 1,477 0,478 0,479 0,480 0,481 0,482 1,483 1,484 0,485 0,486 1,487 0,488 1,489 0,490 1,491 0,492 0,493 0,494 0,495 0,496 0,497 1,498 0,499 1,500 0,501 0,502 1,503 0,504 0,505 0,506 1,507 0,508 1,509 0,510 0,511 1,512 0,513 0,514 0,515 0,516 0,517 0,518 0,519 0,520 1,521 1,522 0,523 0,524 1,525 0,526 1,527 1,528 0,529 1,530 0,531 1,532 0,533 1,534 0,535 0,536 1,537 0,538 1,539 1,540 0,541 1,542 1,543 1,544 1,545 0,546 0,547 0,548 1,549 1,550 1,551 0,552 1,553 0,554 1,555 1,556 0,557 1,558 1,559 1,560 1,561 0,562 0,563 0,564 0,565 1,566 1,567 1,568 1,569 1,570 0,571 1,572 1,573 1,574 1,575 1,576 0,577 1,578 1,579 1,580 1,581 0,582 0,583 0,584 1,585 1,586 1,587 1,588 1,589 1,590 1,591 0,592 0,593 1,594 0,595 1,596 0,597 1,598 1,599 0,600 0,601 0,602 0,603 0,604 0,605 1,606 1,607 1,608 1,609 0,610 1,611 1,612 1,613 1,614 0,615 0,616 0,617 0,618 0,619 1,620 1,621 0,622 1,623 1,624 1,625 1,626 0,627 1,628 1,629 1,630 0,631 1,632 1,633 1,634 0,635 0,636 0,637 0,638 1,639 0,640 1,641 1,642 1,643 1,644 0,645 0,646 1,647 1,648 1,649 1,650 1,651 0,652 1,653 0,654 1,655 1,656 1,657 1,658 0,659 1,660 0,661 0,662 0,663 1,664 1,665 1,666 0,667 1,668 1,669 0,670 1,671 0,672 0,673 1,674 1,675 0,676 0,677 1,678 1,679 0,680 0,681 1,682 1,683 1,684 0,685 1,686 1,687 0,688 0,689 0,690 0,691 1,692 0,693 1,694 1,695 0,696 1,697 0,698 1,699 0,700 1,701 1,702 1,703 0,704 1,705 1,706 0,707 0,708 0,709 1,710 1,711 0,712 1,713 0,714 1,715 0,716 1,717 1,718 1,719 0,720 0,721 0,722 1,723 0,724 0,725 0,726 1,727 1,728 1,729 0,730 1,731 0,732 0,733 0,734 1,735 0,736 0,737 0,738 1,739 0,740 0,741 1,742 0,743 0,744 0,745 1,746 0,747 1,748 1,749 0,750 1,751 0,752 1,753 1,754 0,755 0,756 1,757 1,758 1,759 1,760 1,761 1,762 0,763 0,764 0,765 0,766 0,767 1,768 1,769 1,770 1,771 0,772 1,773 0,774 0,775 0,776 0,777 1,778 1,779 1,780 1,781 1,782 0,783 0,784 0,785 1,786 0,787 1,788 1,789 0,790 1,791 1,792 0,793 1,794 1,795 1,796 0,797 1,798 0,799 0,800 0,801 0,802 0,803 1,804 1,805 1,806 0,807 1,808 0,809 1,810 1,811 1,812 0,813 0,814 1,815 0,816 0,817 0,818 0,819 1,820 1,821 1,822 0,823 1,824 0,825 1,826 0,827 1,828 1,829 1,830 0,831 0,832 0,833 0,834 1,835 0,836 0,837 1,838 0,839 1,840 0,841 0,842 0,843 1,844 0,845 1,846 0,847 0,848 0,849 1,850 0,851 1,852 0,853 0,854 0,855 0,856 1,857 1,858 1,859 1,860 0,861 1,862 0,863 1,864 1,865 0,866 0,867 1,868 0,869 0,870 0,871 0,872 1,873 1,874 1,875 0,876 0,877 0,878 0,879 1,880 0,881 1,882 1,883 0,884 0,885 1,886 0,887 1,888 1,889 1,890 0,891 1,892 0,893 0,894 1,895 1,896 0,897 0,898 1,899 0,900 0,901 0,902 1,903 1,904 0,905 1,906 0,907 1,908 1,909 1,910 0,911 0,912 1,913 1,914 1,915 0,916 0,917 0,918 0,919 1,920 1,921 0,922 1,923 0,924 1,925 0,926 0,927 1,928 0,929 0,930 0,931 1,932 1,933 1,934 0,935 0,936 1,937 0,938 0,939 1,940 1,941 1,942 0,943 1,944 1,945 0,946 0,947 0,948 0,949 1,950 1,951 0,952 0,953 1,954 1,955 1,956 0,957 0,958 0,959 0,960 0,961 1,962 0,963 1,964 1,965 0,966 1,967 1,968 1,969 1,970 0,971 1,972 1,973 0,974 1,975 1,976 0,977 1,978 1,979 0,980 0,981 1,982 0,983 0,984 0,985 1,986 1,987 1,988 1,989 0,990 0,991 1,992 0,993 0,994 0,995 0,996 1,997 1,998 1,999 0,1000 1,1001 0,1002 0,1003 1,1004 1,1005 1,1006 1,1007 1,1008 0,1009 0,1010 1,1011 1,1012 1,1013 0,1014 1,1015 0,1016 0,1017 1,1018 1,1019 1,1020 0,1021 0,1022 1,1023 1,1024 1,1025 0,1026 0,1027 0,1028 0,1029 1,1030 1,1031 0,1032 0,1033 1,1034 0,1035 1,1036 0,1037 1,1038 1,1039 0,1040 0,1041 0,1042 1,1043 1,1044 0,1045 0,1046 0,1047 1,1048 1,1049 1,1050 1,1051 0,1052 0,1053 0,1054 0,1055 1,1056 0,1057 0,1058 0,1059 0,1060 0,1061 1,1062 1,1063 0,1064 0,1065 1,1066 0,1067 1,1068 1,1069 1,1070 0,1071 0,1072 0,1073 1,1074 1,1075 0,1076 0,1077 0,1078 0,1079 0,1080 1,1081 0,1082 1,1083 0,1084 1,1085 0,1086 0,1087 0,1088 0,1089 0,1090 1,1091 1,1092 0,1093 0,1094 1,1095 0,1096 0,1097 1,1098 1,1099 0,1100 0,1101 0,1102 1,1103 0,1104 0,1105 1,1106 0,1107 0,1108 1,1109 1,1110 0,1111 0,1112 1,1113 0,1114 1,1115 0,1116 1,1117 1,1118 0,1119 0,1120 1,1121 1,1122 0,1123 0,1124 0,1125 1,1126 1,1127 0,1128 0,1129 1,1130 0,1131 1,1132 1,1133 1,1134 1,1135 0,1136 1,1137 1,1138 1,1139 1,1140 0,1141 1,1142 0,1143 1,1144 0,1145 1,1146 0,1147 1,1148 0,1149 0,1150 1,1151 1,1152 0,1153 1,1154 0,1155 0,1156 1,1157 0,1158 1,1159 0,1160 1,1161 0,1162 1,1163 1,1164 0,1165 1,1166 0,1167 1,1168 1,1169 0,1170 1,1171 1,1172 0,1173 0,1174 1,1175 0,1176 0,1177 1,1178 0,1179 0,1180 1,1181 1,1182 0,1183 1,1184 1,1185 1,1186 0,1187 1,1188 1,1189 0,1190 0,1191 1,1192 0,1193 0,1194 1,1195 1,1196 0,1197 0,1198 1,1199 1,1200 1,