321. create-maximum-number

        这道题挺好的,有一定的难度,把一般使用的merge排序有了更灵活的应用,也算是开了眼界。而我也是挂在不知道该如何灵活使用merge排序上了。

         题目大意是:给定两个数组,分别表示两个数字,比如,给定要给数组中有两个元素,2,1,表示的是:21,就这个意思。在每个数组各个数字相对位置不变的情况下,挑选固定数量的数字组成一个新的数字,要求这个数字是最大的。

         思路是这样的,既然要选出一个最大的,毫无疑问,要知道具体分别从两个数组中挑出多少个,通过对不同组合的比较才能得出最大的。

          首先,我们需要的是k个数字,那么,假设我们在第一个数组中挑出i个,则需要在第二个数组中挑出k-i个数字,且必须满足i在第一个数组的长度范围内同时k-i也在该范围内。

           其次,当我们选定了符合条件的情况,在第一个数组中选择i个,在第二个数组中选择k-i个,每个数组的选择是完全一样的,就是如何获取最大值,最简单的方法剔除递增序列的方法,可用的方法很多,以前有道题,柱状图那道,就是类似的,可以使用栈结构,当然,vector其实可以很方便的模拟栈结构,也很容易实现这个功能,具体要实现的是,如果出现的序列是9,3,6,8,5 我们希望的是挑出3个保证数字最大,很显然,3,6要去掉,只有尽可能保证递减序列,才能最大,如果遇到9,8,7,6,5怎么办,那就直接去掉尾部的两个即可。

            每个数组中都得到最大值,比如一共需要5个数字,第一个数组中取2个第二个数组中取3个,如何将这两个数组合成最大的呢,因为相对位置不发生变化,所以,让我自然而然想到了merge排序,但是要注意,因为这个数据并不是排列好的,所以,遇到一些数据的时候不会形成最大值,比如,当第一个数据是 6,7,第二个数据是6,0,4,如果用归并排序就可能出现,第一个位相等,则,随便找一个,假设找到数组2中的6,数组二的指针此时指向0,第一个还是在6上,此时在选择一个6,第一组下一次指向7,最终的结果就是66704,但其实正确的答案是67604,因此这里我看了网上大神们的解法,所以,要用到字典序,而这里还get到了一个新技能,原来C++的数组可以直接用来比较大小,返回的与字典序结果一致,说白了就是和字符串的比较很类似了。eg:nums1 = {1,2,3,4}和nums2 = {1,2,4,3}    nums1 < nums2返回的结果是1,nums1 > nums2 返回的结果是0。以此来作为merge排序选择的依据。

以上为思路,具体的可参见代码:

class Solution {
public:
    vector<int> maxNumber(vector<int>& nums1, vector<int>& nums2, int k) {
        vector<int> res;
        int size1 = nums1.size(), size2 = nums2.size();
        for (int i=max(0, k-size2); i<=min(k, size1); ++i) {
            res = max(res, mergeNumber(maxVector(nums1, i), maxVector(nums2, k-i)));
        }
        return res;
    }
    
    vector<int> maxVector(vector<int>& nums, int k) {
        vector<int> res;
        int drop = nums.size()-k;
        for (int num : nums) {
            while (drop && res.size() && res.back()<num) {
                res.pop_back();
                --drop;
            }
            res.push_back(num);
        }
        res.resize(k);
        return res;
    }
    
    vector<int> mergeNumber(vector<int> nums1, vector<int> nums2) {
        vector<int> res;
        while (nums1.size()+nums2.size()) {
            if (nums1 > nums2) {
                res.push_back(nums1[0]);
                nums1.erase(nums1.begin());
            } else {
                res.push_back(nums2[0]);
                nums2.erase(nums2.begin());
            }
        }
        return res;
    }
};

         

___ ____ ____ ____ ____ © /__ / ____/ / ____/ 17.0 ___/ / /___/ / /___/ MP—Parallel Edition Statistics and Data Science Copyright 1985-2021 StataCorp LLC StataCorp 4905 Lakeway Drive College Station, Texas 77845 USA 800-STATA-PC https://www.stata.com 979-696-4600 stata@stata.com Stata license: Unlimited-user 64-core network perpetual Serial number: 18461036 Licensed to: TEAM BTCR TEAM BTCR Notes: 1. Unicode is supported; see help unicode_advice. 2. More than 2 billion observations are allowed; see help obs_advice. 3. Maximum number of variables is set to 5,000; see help set_maxvar. . doedit "C:\Users\21565\Desktop\0727.do" . do "C:\Users\21565\AppData\Local\Temp\STD4af0_000000.tmp" . cd "$D" C:\Users\21565\Desktop . cd C:\Users\21565\Desktop\shuiwuyanjiu C:\Users\21565\Desktop\shuiwuyanjiu . set scheme s2color . sysdir set PLUS D:\Stata15\ado\plus . . import excel "model0722(2).xlsx", sheet(Sheet1) /// 30,16yrs > firstrow clear (23 vars, 744 obs) . xtset id year Panel variable: id (strongly balanced) Time variable: year, 2000 to 2023 Delta: 1 unit . . * ================================================ . * 基准回归 . * ================================================ . xtreg invapply ai, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.7726 min = 24 Between = 0.7957 avg = 24.0 Overall = 0.7042 max = 24 F(1,712) = 2418.99 corr(u_i, Xb) = 0.3195 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .564122 .0114698 49.18 0.000 .5416034 .5866407 _cons | 4.297181 .0436825 98.37 0.000 4.211419 4.382943 -------------+---------------------------------------------------------------- sigma_u | .9971544 sigma_e | .74612058 rho | .64107588 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 712) = 38.49 Prob > F = 0.0000 . est store m1 . . xtreg invapply ai agdp, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9265 min = 24 Between = 0.4880 avg = 24.0 Overall = 0.6896 max = 24 F(2,711) = 4480.87 corr(u_i, Xb) = 0.1248 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .120701 .0132162 9.13 0.000 .0947536 .1466483 agdp | 1.552592 .0402407 38.58 0.000 1.473587 1.631597 _cons | -10.32153 .3797077 -27.18 0.000 -11.06702 -9.576051 -------------+---------------------------------------------------------------- sigma_u | 1.1651541 sigma_e | .42449749 rho | .88281948 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 711) = 146.66 Prob > F = 0.0000 . est store m2 . . xtreg invapply ai agdp str, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9265 min = 24 Between = 0.4805 avg = 24.0 Overall = 0.6868 max = 24 F(3,710) = 2983.56 corr(u_i, Xb) = 0.1205 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .1173344 .016548 7.09 0.000 .0848455 .1498233 agdp | 1.556666 .0420266 37.04 0.000 1.474155 1.639178 str | .033238 .0982107 0.34 0.735 -.1595802 .2260562 _cons | -10.35741 .3944589 -26.26 0.000 -11.13186 -9.582969 -------------+---------------------------------------------------------------- sigma_u | 1.1704721 sigma_e | .42476207 rho | .8836303 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 710) = 125.85 Prob > F = 0.0000 . est store m3 . . xtreg invapply ai agdp str for, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9267 min = 24 Between = 0.4779 avg = 24.0 Overall = 0.6839 max = 24 F(4,709) = 2240.22 corr(u_i, Xb) = 0.1235 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .116514 .0165523 7.04 0.000 .0840167 .1490114 agdp | 1.562672 .0422621 36.98 0.000 1.479698 1.645645 str | .0654837 .1012761 0.65 0.518 -.1333533 .2643206 for | -.0401979 .0310571 -1.29 0.196 -.1011728 .0207771 _cons | -10.35845 .3942722 -26.27 0.000 -11.13253 -9.584364 -------------+---------------------------------------------------------------- sigma_u | 1.177172 sigma_e | .42456022 rho | .88489586 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 709) = 123.11 Prob > F = 0.0000 . est store m4 . . xtreg invapply ai agdp str for edu, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9267 min = 24 Between = 0.4897 avg = 24.0 Overall = 0.6885 max = 24 F(5,708) = 1789.69 corr(u_i, Xb) = 0.1294 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .1171744 .0175155 6.69 0.000 .0827859 .1515629 agdp | 1.554269 .0839054 18.52 0.000 1.389535 1.719002 str | .0663194 .1016026 0.65 0.514 -.133159 .2657978 for | -.0404084 .0311317 -1.30 0.195 -.10153 .0207132 edu | .010375 .0894747 0.12 0.908 -.1652925 .1860425 _cons | -10.31408 .5495692 -18.77 0.000 -11.39306 -9.235104 -------------+---------------------------------------------------------------- sigma_u | 1.1683881 sigma_e | .42485591 rho | .88321774 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 708) = 40.53 Prob > F = 0.0000 . est store m5 . . xtreg invapply ai agdp str for edu env, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9268 min = 24 Between = 0.5083 avg = 24.0 Overall = 0.6971 max = 24 F(6,707) = 1492.99 corr(u_i, Xb) = 0.1365 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .1229116 .0180765 6.80 0.000 .0874215 .1584017 agdp | 1.562927 .0841427 18.57 0.000 1.397728 1.728127 str | .0455296 .1028578 0.44 0.658 -.1564137 .247473 for | -.0312571 .0319347 -0.98 0.328 -.0939553 .0314411 edu | .0191087 .089697 0.21 0.831 -.1569956 .1952131 env | .032143 .025205 1.28 0.203 -.0173426 .0816286 _cons | -10.56798 .584291 -18.09 0.000 -11.71513 -9.420823 -------------+---------------------------------------------------------------- sigma_u | 1.1513811 sigma_e | .42466812 rho | .88025203 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 707) = 38.82 Prob > F = 0.0000 . est store m6 . . xtreg invapply ai str for edu env , fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.8912 min = 24 Between = 0.7994 avg = 24.0 Overall = 0.8362 max = 24 F(5,708) = 1159.29 corr(u_i, Xb) = -0.3131 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .3364388 .0170052 19.78 0.000 .3030522 .3698254 str | -.1012334 .1250108 -0.81 0.418 -.3466696 .1442029 for | -.0392087 .0389241 -1.01 0.314 -.1156293 .0372118 edu | 1.43894 .0572094 25.15 0.000 1.32662 1.551261 env | -.0056361 .0306241 -0.18 0.854 -.065761 .0544887 _cons | -.5039375 .2666023 -1.89 0.059 -1.027363 .0194881 -------------+---------------------------------------------------------------- sigma_u | .77063643 sigma_e | .51766061 rho | .689074 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 708) = 28.38 Prob > F = 0.0000 . est store m7 . esttab m1 m2 m3 m4 m5 m6 m7 using d:/reg1.rtf, replace b(%6.3f) t(%6.2f) t r2 star(* 0.1 ** 0.05 > *** 0.01) compress nogap mtitles("m1" "m2" "m3" "m4""m5""m6""m7") title("表1") (output written to d:/reg1.rtf) . *-------------------------------------------------- // 分位数回归 . xtqreg invapply ai agdp str for edu env tra, quantile(.1(0.2)0.9) //递增 command xtqreg is unrecognized r(199); end of do-file r(199); . ssc install xtqreg checking xtqreg consistency and verifying not already installed... cannot write in directory D:\Stata15\ado\plus\x r(603); . mkdir "D:\StataAdo\plus" could not create directory D:\StataAdo\plus r(693); . . mkdir "D:\StataAdo\personal" could not create directory D:\StataAdo\personal r(693); . sysdir set PLUS "D:\StataAdo\plus" . . sysdir set PERSONAL "D:\StataAdo\personal" . * 卸载旧安装尝试(如有) . . cap ado uninstall xtqreg . . . . * 通过ssc安装 . . ssc install xtqreg, replace checking xtqreg consistency and verifying not already installed... installing into D:\StataAdo\plus\... installation complete. . do "C:\Users\21565\AppData\Local\Temp\STD4af0_000000.tmp" . cd "$D" C:\Users\21565\Desktop\shuiwuyanjiu . cd C:\Users\21565\Desktop\shuiwuyanjiu C:\Users\21565\Desktop\shuiwuyanjiu . set scheme s2color . sysdir set PLUS D:\Stata15\ado\plus . . import excel "model0722(2).xlsx", sheet(Sheet1) /// 30,16yrs > firstrow clear (23 vars, 744 obs) . xtset id year Panel variable: id (strongly balanced) Time variable: year, 2000 to 2023 Delta: 1 unit . . * ================================================ . * 基准回归 . * ================================================ . xtreg invapply ai, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.7726 min = 24 Between = 0.7957 avg = 24.0 Overall = 0.7042 max = 24 F(1,712) = 2418.99 corr(u_i, Xb) = 0.3195 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .564122 .0114698 49.18 0.000 .5416034 .5866407 _cons | 4.297181 .0436825 98.37 0.000 4.211419 4.382943 -------------+---------------------------------------------------------------- sigma_u | .9971544 sigma_e | .74612058 rho | .64107588 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 712) = 38.49 Prob > F = 0.0000 . est store m1 . . xtreg invapply ai agdp, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9265 min = 24 Between = 0.4880 avg = 24.0 Overall = 0.6896 max = 24 F(2,711) = 4480.87 corr(u_i, Xb) = 0.1248 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .120701 .0132162 9.13 0.000 .0947536 .1466483 agdp | 1.552592 .0402407 38.58 0.000 1.473587 1.631597 _cons | -10.32153 .3797077 -27.18 0.000 -11.06702 -9.576051 -------------+---------------------------------------------------------------- sigma_u | 1.1651541 sigma_e | .42449749 rho | .88281948 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 711) = 146.66 Prob > F = 0.0000 . est store m2 . . xtreg invapply ai agdp str, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9265 min = 24 Between = 0.4805 avg = 24.0 Overall = 0.6868 max = 24 F(3,710) = 2983.56 corr(u_i, Xb) = 0.1205 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .1173344 .016548 7.09 0.000 .0848455 .1498233 agdp | 1.556666 .0420266 37.04 0.000 1.474155 1.639178 str | .033238 .0982107 0.34 0.735 -.1595802 .2260562 _cons | -10.35741 .3944589 -26.26 0.000 -11.13186 -9.582969 -------------+---------------------------------------------------------------- sigma_u | 1.1704721 sigma_e | .42476207 rho | .8836303 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 710) = 125.85 Prob > F = 0.0000 . est store m3 . . xtreg invapply ai agdp str for, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9267 min = 24 Between = 0.4779 avg = 24.0 Overall = 0.6839 max = 24 F(4,709) = 2240.22 corr(u_i, Xb) = 0.1235 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .116514 .0165523 7.04 0.000 .0840167 .1490114 agdp | 1.562672 .0422621 36.98 0.000 1.479698 1.645645 str | .0654837 .1012761 0.65 0.518 -.1333533 .2643206 for | -.0401979 .0310571 -1.29 0.196 -.1011728 .0207771 _cons | -10.35845 .3942722 -26.27 0.000 -11.13253 -9.584364 -------------+---------------------------------------------------------------- sigma_u | 1.177172 sigma_e | .42456022 rho | .88489586 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 709) = 123.11 Prob > F = 0.0000 . est store m4 . . xtreg invapply ai agdp str for edu, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9267 min = 24 Between = 0.4897 avg = 24.0 Overall = 0.6885 max = 24 F(5,708) = 1789.69 corr(u_i, Xb) = 0.1294 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .1171744 .0175155 6.69 0.000 .0827859 .1515629 agdp | 1.554269 .0839054 18.52 0.000 1.389535 1.719002 str | .0663194 .1016026 0.65 0.514 -.133159 .2657978 for | -.0404084 .0311317 -1.30 0.195 -.10153 .0207132 edu | .010375 .0894747 0.12 0.908 -.1652925 .1860425 _cons | -10.31408 .5495692 -18.77 0.000 -11.39306 -9.235104 -------------+---------------------------------------------------------------- sigma_u | 1.1683881 sigma_e | .42485591 rho | .88321774 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 708) = 40.53 Prob > F = 0.0000 . est store m5 . . xtreg invapply ai agdp str for edu env, fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.9268 min = 24 Between = 0.5083 avg = 24.0 Overall = 0.6971 max = 24 F(6,707) = 1492.99 corr(u_i, Xb) = 0.1365 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .1229116 .0180765 6.80 0.000 .0874215 .1584017 agdp | 1.562927 .0841427 18.57 0.000 1.397728 1.728127 str | .0455296 .1028578 0.44 0.658 -.1564137 .247473 for | -.0312571 .0319347 -0.98 0.328 -.0939553 .0314411 edu | .0191087 .089697 0.21 0.831 -.1569956 .1952131 env | .032143 .025205 1.28 0.203 -.0173426 .0816286 _cons | -10.56798 .584291 -18.09 0.000 -11.71513 -9.420823 -------------+---------------------------------------------------------------- sigma_u | 1.1513811 sigma_e | .42466812 rho | .88025203 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 707) = 38.82 Prob > F = 0.0000 . est store m6 . . xtreg invapply ai str for edu env , fe //gd Fixed-effects (within) regression Number of obs = 744 Group variable: id Number of groups = 31 R-squared: Obs per group: Within = 0.8912 min = 24 Between = 0.7994 avg = 24.0 Overall = 0.8362 max = 24 F(5,708) = 1159.29 corr(u_i, Xb) = -0.3131 Prob > F = 0.0000 ------------------------------------------------------------------------------ invapply | Coefficient Std. err. t P>|t| [95% conf. interval] -------------+---------------------------------------------------------------- ai | .3364388 .0170052 19.78 0.000 .3030522 .3698254 str | -.1012334 .1250108 -0.81 0.418 -.3466696 .1442029 for | -.0392087 .0389241 -1.01 0.314 -.1156293 .0372118 edu | 1.43894 .0572094 25.15 0.000 1.32662 1.551261 env | -.0056361 .0306241 -0.18 0.854 -.065761 .0544887 _cons | -.5039375 .2666023 -1.89 0.059 -1.027363 .0194881 -------------+---------------------------------------------------------------- sigma_u | .77063643 sigma_e | .51766061 rho | .689074 (fraction of variance due to u_i) ------------------------------------------------------------------------------ F test that all u_i=0: F(30, 708) = 28.38 Prob > F = 0.0000 . est store m7 . esttab m1 m2 m3 m4 m5 m6 m7 using d:/reg1.rtf, replace b(%6.3f) t(%6.2f) t r2 star(* 0.1 ** 0.05 > *** 0.01) compress nogap mtitles("m1" "m2" "m3" "m4""m5""m6""m7") title("表1") (output written to d:/reg1.rtf) . *-------------------------------------------------- // 分位数回归 . xtqreg invapply ai agdp str for edu env tra, quantile(.1(0.2)0.9) //递增 command xtqreg is unrecognized r(199); end of do-file r(199); . help xtqreg // 应显示帮助文档 . . xtset id year // 设置面板数据 / invalid name r(198); . . xtqreg invapply ai, quantile(0.5) // 试运行 command xtqreg is unrecognized r(199); . xtqreg invapply ai, quantile(0.5) command xtqreg is unrecognized r(199); .
最新发布
07-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值