プログラミングのお題スレです。
【出題と回答例】
1 名前:デフォルトの名無しさん
お題:お題本文
2 名前:デフォルトの名無しさん
>>1 使用言語
回答本文
結果がある場合はそれも
【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/
宿題は宿題スレがあるのでそちらへ。
※前スレ
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
プログラミングのお題スレ Part19
■ このスレッドは過去ログ倉庫に格納されています
2020/11/30(月) 00:04:05.21ID:TF2Czp0y
2020/11/30(月) 00:27:32.09ID:OK+46EGm
const array = ['乙', '1', '>', '>'];
for(let i = 0; array.length > 0;) {
console.log(array.pop());
}
for(let i = 0; array.length > 0;) {
console.log(array.pop());
}
2020/11/30(月) 00:44:30.29ID:TF2Czp0y
全スレ >>995 C++
DPでO(N)
ただスマホコーディングなのと今すごく眠いので、何か間違ってたらすまん
https://wandbox.org/permlink/aZbSfE5gQHA9x9B6
DPでO(N)
ただスマホコーディングなのと今すごく眠いので、何か間違ってたらすまん
https://wandbox.org/permlink/aZbSfE5gQHA9x9B6
2020/11/30(月) 01:19:09.34ID:7QMEfWyp
>>1乙
>>http://mevius.2ch.net/test/read.cgi/tech/1594702426/995
bat
:: 配列中の小計の最大値を取る区間A-Bを出力。0を閾値にしているので正の最大値限定
@echo off &setlocal enabledelayedexpansion
set args=-2,1,-3,4,-1,2,1,-5,4
set /a S=N=i=0
for %%a in (%args%) do (
set /a i+=1
set /a N+=a[!i!]=%%a
if !N! GTR !S! set /a S=N, B=i &if not defined A set /a A=i
if !N! LSS 0 set /a N=0 &set A=
)
for /L %%i in (%A%,1,%B%) do set R=!R!,!a[%%i]!
set R=[%R:~1%]
echo %R%
pause&exit /b
>>http://mevius.2ch.net/test/read.cgi/tech/1594702426/995
bat
:: 配列中の小計の最大値を取る区間A-Bを出力。0を閾値にしているので正の最大値限定
@echo off &setlocal enabledelayedexpansion
set args=-2,1,-3,4,-1,2,1,-5,4
set /a S=N=i=0
for %%a in (%args%) do (
set /a i+=1
set /a N+=a[!i!]=%%a
if !N! GTR !S! set /a S=N, B=i &if not defined A set /a A=i
if !N! LSS 0 set /a N=0 &set A=
)
for /L %%i in (%A%,1,%B%) do set R=!R!,!a[%%i]!
set R=[%R:~1%]
echo %R%
pause&exit /b
2020/11/30(月) 02:02:57.70ID:owcTZSsV
2020/11/30(月) 02:36:49.33ID:+w97lXkL
http://mevius.2ch.net/test/read.cgi/tech/1594702426/995
Haskell
import Data.List
maxConsSub x = let
ss = concat $ map ( tail . reverse . tails ) $ tail $ inits x
comp xs ys = compare ( sum xs ) ( sum ys )
in maximumBy comp ss
main = print $ maxConsSub [ -2, 1, -3, 4, -1, 2, 1, -5, 4 ]
Haskell
import Data.List
maxConsSub x = let
ss = concat $ map ( tail . reverse . tails ) $ tail $ inits x
comp xs ys = compare ( sum xs ) ( sum ys )
in maximumBy comp ss
main = print $ maxConsSub [ -2, 1, -3, 4, -1, 2, 1, -5, 4 ]
2020/11/30(月) 02:50:11.69ID:8vxB1EQV
2020/11/30(月) 03:40:18.85ID:r8rQ87Qr
サブ配列とは、連続している領域の事か?
どこかで、こういう問題を見た事があるような気がする
これで、配列の前後がつながっている、循環バージョンもやってみれば?
どこかで、こういう問題を見た事があるような気がする
これで、配列の前後がつながっている、循環バージョンもやってみれば?
2020/11/30(月) 11:41:04.85ID:6DeIDSHb
前スレ>>995 Perl5
@a = qw[-2 1 -3 4 -1 2 1 -5 4];
sub f {
my ($i, $j) = @_;
return $t[$i][$j] if defined $t[$i][$j];
$t[$i][$j] = $a[$i] + ($i < $j ? f($i+1, $j) : 0);
}
for $i (0..$#a) {
for $j (reverse 0..$#a) {
my $v = f($i, $j);
if (!defined($max) or $max < $v) {
$max = $v;
($s, $e) = ($i, $j);
}
}
}
print "@a[$s..$e]\n"
~ $ perl 18_995_sumsubarry_dp.pl
4 -1 2 1
@a = qw[-2 1 -3 4 -1 2 1 -5 4];
sub f {
my ($i, $j) = @_;
return $t[$i][$j] if defined $t[$i][$j];
$t[$i][$j] = $a[$i] + ($i < $j ? f($i+1, $j) : 0);
}
for $i (0..$#a) {
for $j (reverse 0..$#a) {
my $v = f($i, $j);
if (!defined($max) or $max < $v) {
$max = $v;
($s, $e) = ($i, $j);
}
}
}
print "@a[$s..$e]\n"
~ $ perl 18_995_sumsubarry_dp.pl
4 -1 2 1
109
2020/11/30(月) 21:53:55.46ID:Nq7K7NhK >>9 Bugってんじゃん、解は変わらないけど無駄なとこ計算する
× for $j (reverse 0..$#a) {
↓
○ for $j (reverse $i..$#a) {
ついでっちゅうわけじゃないけどnaive版 Perl5
@a = qw[-2 1 -3 4 -1 2 1 -5 4];
use List::Util 'sum';
for $i (0..$#a) {
for $j (reverse $i..$#a) {
my $v = sum(@a[$i...$j]);
if (!defined $max or $max < $v) {
$max = $v;
($s, $e) = ($i, $j);
}
}
}
print "@a[$s..$e]\n";
実行
~ $ perl 18_995_sumsubarry_naive.pl
4 -1 2 1
× for $j (reverse 0..$#a) {
↓
○ for $j (reverse $i..$#a) {
ついでっちゅうわけじゃないけどnaive版 Perl5
@a = qw[-2 1 -3 4 -1 2 1 -5 4];
use List::Util 'sum';
for $i (0..$#a) {
for $j (reverse $i..$#a) {
my $v = sum(@a[$i...$j]);
if (!defined $max or $max < $v) {
$max = $v;
($s, $e) = ($i, $j);
}
}
}
print "@a[$s..$e]\n";
実行
~ $ perl 18_995_sumsubarry_naive.pl
4 -1 2 1
11デフォルトの名無しさん
2020/12/01(火) 03:38:48.56ID:G7RpB3vG 前スレ>>971
前スレ 994 の Java のやつを見て Kotlin script に変換。
java.time.DayOfWeek.values().map { it.name.toLowerCase().capitalize() }.forEach(::println)
991 は java.text.DateFormatSymbols 使ったから順序を変える必要があったが
java.time.DayOfWeek 使えばその必要なかったんだな。
前スレ 994 の Java のやつを見て Kotlin script に変換。
java.time.DayOfWeek.values().map { it.name.toLowerCase().capitalize() }.forEach(::println)
991 は java.text.DateFormatSymbols 使ったから順序を変える必要があったが
java.time.DayOfWeek 使えばその必要なかったんだな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【コメ】卸売業者「簡単に安売りできない」 「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 [Hitzeschleier★]
- 空自機レーダー照射、音声データ公開 中国 ★4 [蚤の市★]
- 中国から訓練の連絡あったが、区域など具体的な内容知らされず=小泉防衛相 [♪♪♪★]
- 【高市早苗総理】食料品消費減税に慎重「今すぐ約束できない」…「物価上昇率は徐々に落ち着いていくと見込んでいる」 [Hitzeschleier★]
- 高市早苗総理「農水大臣が大好きなおこめ券」 野党が“おこめ券”追及 [Hitzeschleier★]
- TOTOのウォシュレット、累計販売台数が7000万台突破…トイレットペーパー不足のアメリカで急増 [♪♪♪★]
- 【悲報】高市早苗政権に文春砲が連発! [115996789]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」 [931948549]
- 【正論】高市さん「長期金利が上がり続けていくことよりも、日本が成長していく方が大事」 [519511584]
- 日本の国内線「日本に航空会社が多すぎるとは考えていない」IATA事務総長 [943688309]
- (´・ω・`)日高屋行きたい
- トランプが高市に助け船を出さない理由🤔 [445522505]
