diff --git a/Go/project/go.mod b/Go/project/go.mod index d1926ad0..cf57740b 100644 --- a/Go/project/go.mod +++ b/Go/project/go.mod @@ -3,7 +3,14 @@ module example.com/m go 1.16 require ( - github.com/ramya-rao-a/go-outline v0.0.0-20200117021646-2a048b4510eb // indirect - github.com/smartystreets/goconvey v1.6.4 // indirect - golang.org/x/tools v0.1.1 // indirect + github.com/cweill/gotests v1.6.0 // indirect + github.com/fatih/gomodifytags v1.13.0 // indirect + github.com/go-delve/delve v1.6.2-0.20210708052754-e1febcf6093b // indirect + github.com/haya14busa/goplay v1.0.0 // indirect + github.com/josharian/impl v1.1.0 // indirect + github.com/ramya-rao-a/go-outline v0.0.0-20210608161538-9736a4bde949 // indirect + github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect + github.com/uudashr/gopkgs/v2 v2.1.2 // indirect + golang.org/x/tools/gopls v0.7.0 // indirect + honnef.co/go/tools v0.2.0 // indirect ) diff --git a/Go/project/go.sum b/Go/project/go.sum index de40a844..dd0172f7 100644 --- a/Go/project/go.sum +++ b/Go/project/go.sum @@ -1,39 +1,153 @@ -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/ramya-rao-a/go-outline v0.0.0-20200117021646-2a048b4510eb h1:ilZSL4VaIq4Hsi+lH928xQKnSWymFug6r2gJomUBpW8= -github.com/ramya-rao-a/go-outline v0.0.0-20200117021646-2a048b4510eb/go.mod h1:1WL5IqM+CnRCAbXetRnL1YVoS9KtU2zMhOi/5oAVPo4= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cosiner/argv v0.1.0 h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg= +github.com/cosiner/argv v0.1.0/go.mod h1:EusR6TucWKX+zFgtdUsKT2Cvg45K5rtpCcWz4hK06d8= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cweill/gotests v1.6.0 h1:KJx+/p4EweijYzqPb4Y/8umDCip1Cv6hEVyOx0mE9W8= +github.com/cweill/gotests v1.6.0/go.mod h1:CaRYbxQZGQOxXDvM9l0XJVV2Tjb2E5H53vq+reR2GrA= +github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= +github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= +github.com/fatih/gomodifytags v1.13.0 h1:fmhwoecjZ5c34Q2chjRB9cL8Rgag+1TOSMy+grissMc= +github.com/fatih/gomodifytags v1.13.0/go.mod h1:TbUyEjH1Zo0GkJd2Q52oVYqYcJ0eGNqG8bsiOb75P9c= +github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= +github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= +github.com/go-delve/delve v1.6.2-0.20210708052754-e1febcf6093b h1:f/GASUP2QbcfqIolbdSlJXsyLXpMc8QitdTlX9zsspU= +github.com/go-delve/delve v1.6.2-0.20210708052754-e1febcf6093b/go.mod h1:2DpgGoHOW7r7MXyykmT7axp9IEEIc8EV/swa5m8rkbo= +github.com/go-delve/delve v1.7.0 h1:MaWAD3LtvjE/LL98urSHPjaMT+OubpQ2sqF3R2Uj1rc= +github.com/go-delve/delve v1.7.0/go.mod h1:2DpgGoHOW7r7MXyykmT7axp9IEEIc8EV/swa5m8rkbo= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-dap v0.5.0 h1:RMHAVn5xeunBakYk65ggHXttk6qjZVdbmi+xhAoL2wY= +github.com/google/go-dap v0.5.0/go.mod h1:5q8aYQFnHOAZEMP+6vmq25HKYAEwE+LF5yh7JKrrhSQ= +github.com/google/safehtml v0.0.2/go.mod h1:L4KWwDsUJdECRAEpZoBn3O64bQaywRscowZjJAzjHnU= +github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/haya14busa/goplay v1.0.0 h1:ED4BMrGQ3WH7H3YXrcnWMVzj1xeSepaYTkLh1DtFi/4= +github.com/haya14busa/goplay v1.0.0/go.mod h1:TUcdOVV7TTx0Fo9CmTf16Erfju/DzXTbB70+RYb43h8= +github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jba/templatecheck v0.6.0/go.mod h1:/1k7EajoSErFI9GLHAsiIJEaNLt3ALKNw2TV7z2SYv4= +github.com/josharian/impl v1.1.0 h1:gafhg1OFVMq46ifdkBa8wp4hlGogjktjjA5h/2j4+2k= +github.com/josharian/impl v1.1.0/go.mod h1:SQ6aJMP6xsJpGSD/36IIqrUdigLCYe9bz/9o5AKm6Aw= +github.com/karrick/godirwalk v1.12.0 h1:nkS4xxsjiZMvVlazd0mFyiwD4BR9f3m6LXGhM2TUx3Y= +github.com/karrick/godirwalk v1.12.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mattn/go-colorable v0.0.0-20170327083344-ded68f7a9561 h1:isR/L+BIZ+rqODWYR/f526ygrBMGKZYFhaaFRDGvuZ8= +github.com/mattn/go-colorable v0.0.0-20170327083344-ded68f7a9561/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.3 h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/peterh/liner v0.0.0-20170317030525-88609521dc4b h1:8uaXtUkxiy+T/zdLWuxa/PG4so0TPZDZfafFNNSaptE= +github.com/peterh/liner v0.0.0-20170317030525-88609521dc4b/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/ramya-rao-a/go-outline v0.0.0-20210608161538-9736a4bde949 h1:iaD+iVf9xGfajsJp+zYrg9Lrk6gMJ6/hZHO4cYq5D5o= +github.com/ramya-rao-a/go-outline v0.0.0-20210608161538-9736a4bde949/go.mod h1:9V3eNbj9Z53yO7cKB6cSX9f0O7rYdIiuGBhjA1YsQuw= +github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/sanity-io/litter v1.5.0/go.mod h1:5Z71SvaYy5kcGtyglXOC9rrUi3c1E8CamFWjQsazTh0= +github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= +github.com/spf13/cobra v0.0.0-20170417170307-b6cb39589372 h1:eRfW1vRS4th8IX2iQeyqQ8cOUNOySvAYJ0IUvTXGoYA= +github.com/spf13/cobra v0.0.0-20170417170307-b6cb39589372/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v0.0.0-20170417173400-9e4c21054fa1 h1:7bozMfSdo41n2NOc0GsVTTVUiA+Ncaj6pXNpm4UHKys= +github.com/spf13/pflag v0.0.0-20170417173400-9e4c21054fa1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/uudashr/gopkgs/v2 v2.1.2 h1:A0+QH6wqNRHORJnxmqfeuBEsK4nYQ7pgcOHhqpqcrpo= +github.com/uudashr/gopkgs/v2 v2.1.2/go.mod h1:O9VKOuPWrUpVhaxcg7N3QiTrlDhgJb/84Y7b3qaX1rI= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +go.starlark.net v0.0.0-20200821142938-949cc6f4b097 h1:YiRMXXgG+Pg26t1fjq+iAjaauKWMC9cmGFrtOEuwDDg= +go.starlark.net v0.0.0-20200821142938-949cc6f4b097/go.mod h1:f0znQkUKRrkk36XxWbGjMqQM8wGv/xHBVE2qc3B5oFU= +golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4 h1:QlVATYS7JBoZMVaf+cNjb90WD/beKVHnIxFKT4QaHVI= +golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2 h1:Gz96sIWK3OalVv/I/qNygP42zyoKp3xptRVCWRFEBvo= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007 h1:gG67DSER+11cZvqIMb8S8bt0vZtiN6xWYARwirrOSfE= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180824175216-6c1c5e93cdc1/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20191109212701-97ad0ed33101/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191127201027-ecd32218bd7f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1 h1:wGiQel/hW0NnEkJUk8lbzkX2gFJU6PFxf1v5OlCfuOs= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3-0.20210608163600-9ed039809d4c h1:Pv9gNyJFYVdpUAVZYJ1BDSU4eGgXQ+0f3DIGAdolO5s= +golang.org/x/tools v0.1.3-0.20210608163600-9ed039809d4c/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools/gopls v0.7.0 h1:JQBHW81Gsyim6iDjUwGoPeSpXrSqwen3isPJLfDfaYU= +golang.org/x/tools/gopls v0.7.0/go.mod h1:2e5c16p2T50tIFn0V3ZHHJz0+CRHvJb8TGR9RPFdw8A= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.2.0 h1:ws8AfbgTX3oIczLPNPCu5166oBg9ST2vNs0rcht+mDE= +honnef.co/go/tools v0.2.0/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= +mvdan.cc/gofumpt v0.1.1 h1:bi/1aS/5W00E2ny5q65w9SnKpWEF/UIOqDYBILpo9rA= +mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/xurls/v2 v2.2.0 h1:NSZPykBXJFCetGZykLAxaL6SIpvbVy/UFEniIfHAa8A= +mvdan.cc/xurls/v2 v2.2.0/go.mod h1:EV1RMtya9D6G5DMYPGD8zTQzaHet6Jh8gFlRgGRJeO8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/pytorch/官方教程/00 Pytorch 概述.md b/pytorch/官方教程/00 Pytorch 概述.md index d05f153b..cdd65f9b 100644 --- a/pytorch/官方教程/00 Pytorch 概述.md +++ b/pytorch/官方教程/00 Pytorch 概述.md @@ -11,12 +11,13 @@ 1. 获取数据集 2. 数据预处理 3. 训练模型 - 1. 神经网络:torch.nn.Model.__init__定义具有一些可学习参数(或权重)的神经网络 - 2. 正向传播:torch.nn.Model.forward通过网络处理输入,进行正向传播 - 3. 计算损失:torch.nn.loss输出正确的距离有多远 - 4. 反向传播:torch.tensor.backward将梯度传播回网络参数 - 5. 更新权重:troch.optim通常使用简单的更新规则来更新网络的权重:weight = weight - learning_rate * gradient - 6. 循环迭代:train cycle + 1. 创建模型:torch.nn.Model.__init__定义具有一些可学习参数(或权重)的神经网络 + 2. 训练算法: + 1. 正向传播:torch.nn.Model.forward通过网络处理输入,进行正向传播 + 2. 计算损失:torch.nn.loss输出正确的距离有多远 + 3. 反向传播:torch.tensor.backward将梯度传播回网络参数 + 4. 更新权重:troch.optim通常使用简单的更新规则来更新网络的权重:weight = weight - learning_rate * gradient + 5. 迭代循环:重复以上步骤直到(精确度满足要求 或者 迭代次数到达上限) 4. 验证模型 5. 使用模型 diff --git a/pytorch/官方教程/2021-07-27-21-14-52.png b/pytorch/官方教程/2021-07-27-21-14-52.png new file mode 100644 index 00000000..bcc7f7eb Binary files /dev/null and b/pytorch/官方教程/2021-07-27-21-14-52.png differ diff --git a/pytorch/官方教程/2021-07-27-21-15-37.png b/pytorch/官方教程/2021-07-27-21-15-37.png new file mode 100644 index 00000000..bcc7f7eb Binary files /dev/null and b/pytorch/官方教程/2021-07-27-21-15-37.png differ diff --git a/pytorch/官方教程/31 张量.md b/pytorch/官方教程/31 张量.md index 54e0cd86..8d818afb 100644 --- a/pytorch/官方教程/31 张量.md +++ b/pytorch/官方教程/31 张量.md @@ -1,4 +1,5 @@ # 张量 +![](2021-07-27-21-14-52.png) 张量如同数组和矩阵一样, 是一种特殊的数据结构。在`PyTorch`中, 神经网络的输入、输出以及网络的参数等数据, 都是使用张量来进行描述。 diff --git a/pytorch/官方教程/32 数据集和数据加载器.md b/pytorch/官方教程/32 数据集和数据加载器.md index e69de29b..c05d1692 100644 --- a/pytorch/官方教程/32 数据集和数据加载器.md +++ b/pytorch/官方教程/32 数据集和数据加载器.md @@ -0,0 +1,112 @@ +# 数据集和数据加载器 + +## 1 torchvision.datasets 官方数据集加载 + +我们使用以下参数加载FashionMNIST 数据集: +* root 是存储训练/测试数据的路径, +* train 指定训练或测试数据集, +* download=True如果数据不可用,则从 Internet 下载数据root。 +* transform并target_transform指定特征和标签转 + +```py +import torch +from torch.utils.data import Dataset +from torchvision import datasets +from torchvision.transforms import ToTensor +import matplotlib.pyplot as plt + + +training_data = datasets.FashionMNIST( + root="data", + train=True, + download=True, + transform=ToTensor() +) + +test_data = datasets.FashionMNIST( + root="data", + train=False, + download=True, + transform=ToTensor() +) +``` + +对加载的数据集进行可视化显示 +```py +labels_map = { + 0: "T-Shirt", + 1: "Trouser", + 2: "Pullover", + 3: "Dress", + 4: "Coat", + 5: "Sandal", + 6: "Shirt", + 7: "Sneaker", + 8: "Bag", + 9: "Ankle Boot", +} +figure = plt.figure(figsize=(8, 8)) +cols, rows = 3, 3 +for i in range(1, cols * rows + 1): + sample_idx = torch.randint(len(training_data), size=(1,)).item() + img, label = training_data[sample_idx] + figure.add_subplot(rows, cols, i) + plt.title(labels_map[label]) + plt.axis("off") + plt.imshow(img.squeeze(), cmap="gray") +plt.show() +``` + + +## 2 自定义dataset加载数据集 + +* 自定义 Dataset 类必须实现三个函数:__init__、__len__和__getitem__。看看这个实现;FashionMNIST 图像存储在一个目录中img_dir,它们的标签单独存储在一个 CSV 文件中annotations_file。 + +```py +import os +import pandas as pd +from torchvision.io import read_image + +class CustomImageDataset(Dataset): + def __init__(self, annotations_file, img_dir, transform=None, target_transform=None): + self.img_labels = pd.read_csv(annotations_file) + self.img_dir = img_dir + self.transform = transform + self.target_transform = target_transform + + def __len__(self): + return len(self.img_labels) + + def __getitem__(self, idx): + img_path = os.path.join(self.img_dir, self.img_labels.iloc[idx, 0]) + image = read_image(img_path) + label = self.img_labels.iloc[idx, 1] + if self.transform: + image = self.transform(image) + if self.target_transform: + label = self.target_transform(label) + return image, label + +``` + +* __init__ 函数在实例化 Dataset 对象时运行一次。我们初始化包含图像、注释文件和两个转换的目录 +* __len__ 函数返回我们数据集中的样本数。 +* __getitem__ 函数从给定索引处的数据集中加载并返回一个样本idx。基于索引,它识别图像在磁盘上的位置,使用 将其转换为张量read_image,从 中的 csv 数据中检索相应的标签self.img_labels,调用它们的变换函数(如果适用),并返回张量图像和相应的标签一个元组。 + + + +## 3 使用DataLoader进行训练 + +* 我们已将该数据集加载到 中,Dataloader并且可以根据需要遍历数据集。下面的每次迭代都会返回一批train_features和train_labels(batch_size=64分别包含特征和标签)。因为我们指定了shuffle=True,在我们遍历所有批次后,数据会被打乱 + +```py +# Display image and label. +train_features, train_labels = next(iter(train_dataloader)) +print(f"Feature batch shape: {train_features.size()}") +print(f"Labels batch shape: {train_labels.size()}") +img = train_features[0].squeeze() +label = train_labels[0] +plt.imshow(img, cmap="gray") +plt.show() +print(f"Label: {label}") +``` diff --git a/pytorch/官方教程/33 转换transform.md b/pytorch/官方教程/33 转换transform.md index e69de29b..e603e6fa 100644 --- a/pytorch/官方教程/33 转换transform.md +++ b/pytorch/官方教程/33 转换transform.md @@ -0,0 +1,31 @@ +# transform对数据集进行转换 + +## 1 torchvision数据集才有的转换 + + +所有 TorchVision 数据集都有两个参数 -transform修改特征和 target_transform修改标签 - 接受包含转换逻辑的可调用对象。该torchvision.transforms模块提供几种常用的变换开箱 + +```py +import torch +from torchvision import datasets +from torchvision.transforms import ToTensor, Lambda + +ds = datasets.FashionMNIST( + root="data", + train=True, + download=True, + transform=ToTensor(), + target_transform=Lambda(lambda y: torch.zeros(10, dtype=torch.float).scatter_(0, torch.tensor(y), value=1)) +) +``` + + +### ToTensor() +ToTensor 将 PIL 图像或 NumPyndarray转换为FloatTensor. 并在 [0., 1.] 范围内缩放图像的像素强度值 + +### Lambda 变换 +Lambda 转换适用于任何用户定义的 lambda 函数。在这里,我们定义了一个函数来将整数转换为单热编码的张量。它首先创建一个大小为 10(我们数据集中的标签数量)的零张量,并调用 scatter_,它value=1在标签给定的索引上分配 a y。 +```py +target_transform = Lambda(lambda y: torch.zeros( + 10, dtype=torch.float).scatter_(dim=0, index=torch.tensor(y), value=1)) +``` \ No newline at end of file diff --git a/pytorch/官方教程/83 API-torch.Tensor.md b/pytorch/官方教程/83 API-torch.Tensor.md index f09f2af3..302e995e 100644 --- a/pytorch/官方教程/83 API-torch.Tensor.md +++ b/pytorch/官方教程/83 API-torch.Tensor.md @@ -2,4 +2,7 @@ # torch.Tensor -> 包含tensor处理的各种方法和属性。 \ No newline at end of file +> 包含tensor处理的各种方法和属性。 + + +![](2021-07-27-21-15-37.png) \ No newline at end of file diff --git a/工作日志/2021-07-31-21-57-24.png b/工作日志/2021-07-31-21-57-24.png new file mode 100644 index 00000000..f07df438 Binary files /dev/null and b/工作日志/2021-07-31-21-57-24.png differ diff --git a/工作日志/2021年7月25日-rythm分享.md b/工作日志/2021年7月25日-rythm分享.md new file mode 100644 index 00000000..869aae93 --- /dev/null +++ b/工作日志/2021年7月25日-rythm分享.md @@ -0,0 +1,97 @@ +# rythm 孙锐 诗歌与节奏 + +## 什么是 +1. 节奏,断句,停顿。 +2. 韵律,升降,平仄调。不太一样。 + + +### 三种类型🌿 +1. 图解法。使用 +2. 音乐性理论 +3. 节奏韵律。使用科学上的物理参数。 + + +### 韵文格律与意义 + +1. 无关系 +2. 韵律能够在一定意义上反应意义。 +3. 节奏、音高的连续性。 + +> 同一个音能够通过不同的节奏反应不同的意思。啊?,啊~,啊、,啊——,。 + + +## 诗歌 + + + +## 中国诗歌 + +1. 诗经。最后动词的变迁。 +2. 楚辞,赋。 +3. 汉乐府、汉赋。音乐和词的脱离。 +4. 五言诗、七言诗。 +5. 南北朝民歌 +6. 南朝文学。赋,很押韵。 +7. 律体。意义上的对仗---->声音上的对仗。声韵学。 +8. 永明体。诗歌的音乐性降低,而文字上的音。 + +> 神婆。会在死亡的时候,唱诗。 + + +> 诗是一种高雅的文学形式。可是从诗经、古代严格的五律七律、到后来宽泛的词、到现在的现代诗、到现在的歌曲。是否从一种高雅的形式,逐渐再融合成一种普通人用来表达感情的很世俗的东西。感觉诗歌的文学上的韵律,越来越宽泛。是由什么原因? + + +## 总结 +音节。节奏。重音和停顿上 + + +1. 字的个数,也就是一个节奏下,音的个数,变得更随意。 + + + +# rythm 张玄 音乐的节奏 + +### 定义 + +1. 音乐:旋律、和声、节奏。 +2. 规律,能够预测的变换。 +3. 节奏(有规律的声音变化):速度、拍子、重音。 + + +### 组成 + +1. 速度:取决于人能理解的上限。 +2. 拍子:古代传统音乐。一板(重音)三眼(轻音 ),一板一眼 + + + +## 概念 + +音乐的三要素指的是旋律、节奏与和声。 + +旋律: + +又称曲调。音乐的起伏是按照一定的节奏水平有序地组织起来的,形成一个曲调。旋律是音乐形式中最重要的表现手段,是音乐的本质,是音乐的决定性因素。曲调的方向是可变的。有三个基本方向:水平方向、向上方向和向下方向。 +同一音调的进展方向称为水平;从低音到高音,向上;从高音到低音,向下。曲调发展的常用方式是“谐音重复”、“渐进”和“跳进”。根据音阶的相邻音调,它被称为进行音,三度的跳跃称为小跳跃,四度以上的跳跃称为大跳跃。 +节奏: + +音乐的节奏是指音乐运动中中音的长度和强度。音乐的节奏常被比作音乐的骨架。节拍是音乐中拍子和拍子的周期性和规则性的重复。中国传统音乐称节奏为“板眼”,“板眼”等同于强拍;“眼”等同于亚强拍(中眼)或弱拍。 +和声: + +和声包括“和弦”和“和声进行”。和弦通常是三个或更多声音的组合,这些声音根据一定的规则纵向(同时)重叠。和弦的横向组织就是和声进行。和声具有明显的强、轻、厚、薄的色彩效果,还具有构成分句、段落和结尾乐的功能。 + + +## 问题 + +声音上的和谐。和意义上的和谐。诗歌包含声音和意义。 + + +一段意义上的终止符。 + + + + +# 下次的主题 + + +西部。 \ No newline at end of file diff --git a/工作日志/2021年7月28日-今日计划.md b/工作日志/2021年7月28日-今日计划.md new file mode 100644 index 00000000..d01fe1c7 --- /dev/null +++ b/工作日志/2021年7月28日-今日计划.md @@ -0,0 +1 @@ +## 任务 diff --git a/工作日志/2021年7月31日-西部分享.md b/工作日志/2021年7月31日-西部分享.md new file mode 100644 index 00000000..49f8d026 --- /dev/null +++ b/工作日志/2021年7月31日-西部分享.md @@ -0,0 +1,56 @@ +## 荒野大镖客 + +* 1899年美国西部。移民,秩序。 + + + +## 中国“西部” +> 中国语境下的西部与西方。 + + +* 西部与西方 + * 西部的自然景色,风光很美 + * 西部的经济特征,落后奇异 + * 西方一般是指文化政治上的一种团体。 +* 中国的“西部” + * 以行政区划作为西部的官方定义。 + * 西部大开发的几个省份。东部支援西部。 + * 语言习惯与地理上的西部,西部、中部、东部、东北 +* 美国西部 + * 狂野,潇洒。西部世界、荒野大镖客。 + * 共同点:地理上。气候上相似。历史上的演变,向西部扩张。未知与浪漫。 + * 不通点:经济发展差异问题。扩张方式,民族自治与血腥残暴。 +* “西” + * 死亡、沉寂、岁月流逝、人生迟暮 + * 西风、阴(西)阳(东) +* 是不是西部的文化里,总感觉与奇异,那种毒药, + +![](2021-07-31-21-57-24.png) + + + +## 中国历史上的“西域”。 +* 北京城这么考究,他的方位到底是地磁北方还是地轴北方呢? +* +## 西部世界观影及推荐 + + +## 西部军区 + + +1. 作战指挥(打仗) +2. 领导管理(培养) + + + + +## “电话” +* 科幻,源于未知的浪漫。 + +* 门。一扇门。人们总在赋予它更多的含义。刚开始,打开这扇门,你能听到电话线另外一段的声音,再后来,可能听到来自更遥远的声音,甚至是千里之外的影像图片。基于这种门的思路,越来越多的人,想要通过这扇门看到更多的东西。像现在手机上已经可以传递货币,可以传递爱情,但究其本质还是一种数据。而科幻无非基于两点,空间上的延展与时间上的穿梭。 +* 人们希望通过这扇门能够传递物质,实现瞬间的转移,也想要通过这扇门跨越时间,向过去与未来发送信息。说不定真的可以实现,而且还可以很好的解决某个悖论。我们没有收到未来的信息,是因为我们还没有造出第一扇门,迎接未来的人。 +* 而科幻作品往往不是用来像漫威动画里那种堆切科幻元素的现代社会情愫,而是在探讨某一科技出现之后的社会学问题。我觉得科幻作品中的科幻元素只是背景,而真正让人思考的是其中的人文社会变化。 + + + +* 我觉得我抛出的每一个观点都有很强的主观色彩,很容易出现矛盾和冲突。要讨论的可能还真的挺多。 \ No newline at end of file diff --git a/工作日志/2021年8月1日-科幻系列总结.md b/工作日志/2021年8月1日-科幻系列总结.md new file mode 100644 index 00000000..81e1342d --- /dev/null +++ b/工作日志/2021年8月1日-科幻系列总结.md @@ -0,0 +1,46 @@ +# 科幻世界中的电话元素 + + +## 资料准备 + + + + + +## 讲解主题 + + +### 电影 +(漫威系列的就算了) + +* 黑客帝国 +* 信条 +* 盗梦空间 +* 星际穿越 +* 机器人总动员 + +### 小说 + +* 短篇小说 +* 科幻世界全集 + +### 动漫 + +* 攻壳机动队 +* rick&morty +* 哆啦A梦 +* 命运石之门 +* 爱死亡机器人 +* 机器人总动员 +* 心理测量者 +* iMENTOR +* 夏娃的时间 +* 新世纪福音战士 +* 星空清理者 +* 星际牛仔 + + +### 电视剧 + +* 黑镜 +* 西部世界 \ No newline at end of file diff --git a/工作日志/2021年8月2日-会议记录.md b/工作日志/2021年8月2日-会议记录.md new file mode 100644 index 00000000..ba6e9ca5 --- /dev/null +++ b/工作日志/2021年8月2日-会议记录.md @@ -0,0 +1,11 @@ +## 李文超——代理重加密 + +* 代理重加密的目的是什么。存在云端的加密。相当于临时授权。 + * 用户需要文件,授权做一件事情。 + +* 为什么信任某个代理,代替去授权。规定授权的时间和进度。 +* 包括一些情报数据的共享。 + + +## 回答一下这几个东西 +* 什么特点、什么问题、什么方法、什么原理、什么效果 \ No newline at end of file diff --git a/工作日志/2021年8月7日.-电话分享md b/工作日志/2021年8月7日.-电话分享md new file mode 100644 index 00000000..02593793 --- /dev/null +++ b/工作日志/2021年8月7日.-电话分享md @@ -0,0 +1,37 @@ +# 电话 + + +## 电话定义 + +* 一种通信工具、一种传输工具。端到端的通信模式。 + +## 电影 + +* 剧情介绍 +* “电话”功能 +* 电话对于电影剧情的作用以及电话意向的分析 + + +## 动漫 + +* 剧情介绍 +* “电话”功能 +* 电话对于电影剧情的作用以及电话意向的分析 +* 为什么选择电话 + + +## 小说 + +* 剧情介绍 +* “电话”功能 +* 电话对于电影剧情的作用以及电话意向的分析 +* 为什么选择电话 + + +## “科幻世界的电话”——通向异世界的大门 + + +## “科幻世界的电话”——融合尖端科技的设备(功能幻想) + + +## “科幻世界的电话”——形式变化 \ No newline at end of file diff --git a/算法/B类:数据结构算法/4.2 链表与双指针.md b/算法/B类:数据结构算法/4.2 链表与双指针.md index f8d24323..38a44d38 100644 --- a/算法/B类:数据结构算法/4.2 链表与双指针.md +++ b/算法/B类:数据结构算法/4.2 链表与双指针.md @@ -144,6 +144,65 @@ public: } ``` +## 4 最接近的三数之和 + +### 问题描述 +给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 + +``` +输入:nums = [-1,2,1,-4], target = 1 +输出:2 +解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。 +``` +### 问题分析 + +### 策略选择 + +### 算法设计 +* 首先进行排序 +* 固定一个游标。使得剩下的两个游标在固定的游标右侧,使用双指针法,逼近最小值。 +### 算法分析 +* 时间复杂度O(n^2) +* 空间复杂度O(1) +### 算法实现 + +```C++ +class Solution { +public: + int threeSumClosest(vector& nums, int target) { + sort(nums.begin(),nums.end()); + int n = nums.size(); + int i=0,j=n-1,k=0; + int m = 999999; + int val =0; + for(int k=0;ktarget-temp){ + m=target-temp; + val = temp; + + } + i++; + } + else if(temp>target){ + if(m>temp-target){ + m=temp-target; + val =temp; + } + j--; + } + // cout<