ふむ。こういうエディタがあるらしい、今度使ってみたい。
http://panic.com/jp/coda/
2014年3月23日日曜日
2014年3月18日火曜日
9PatchはBackGround要素だけ適応される。
書きたいことはたくさんあるのですが。また見つけたAndroidのバグとか(いい再現方法が見つからず報告できてません)。
9PatchはBackGround要素だけに適応されます。
ImageViewのsrc要素には適応されません。 ご注意を。
そして9patchの作成はこれを使うとよい。
android-sdk\tools\draw9patch.bat
9PatchはBackGround要素だけに適応されます。
ImageViewのsrc要素には適応されません。 ご注意を。
そして9patchの作成はこれを使うとよい。
android-sdk\tools\draw9patch.bat
2014年2月4日火曜日
SRM 606 Div2 Easy/Medum
前回から落ちまくってついに823まで落ちてます。。
PythonだとTLEになってしまったが、Javaだとすんなり通った。
SRM 606 Div2 Easy BoundingBox
MaxとMinの組み合わせだったということにパッと気づかなかったのが致命傷class BoundingBox:
def smallestArea(self, X, Y):
return (max(X)-min(X))*(max(Y)-min(Y))
SRM 606 Div2 Medium PalindromicSubstringsDiv2
本番では、他の用事もあり解けず(言い訳)、他の人の回答を見て勉強しましたが、時間があっても解けなかったような気がします。PythonだとTLEになってしまったが、Javaだとすんなり通った。
public int count(String[] S1, String[] S2) {
String string = "";
for (String s : S1) {
string += s;
}
for (String s : S2) {
string += s;
}
int count = 0;
for (int i = 0; i < string.length(); i++) {
for (int j = 1; j < string.length(); j++) {
if (0 <= i - j && i + j < string.length()
&& string.charAt(i - j) == string.charAt(i + j)) {
count++;
} else {
break;
}
}
for (int j = 0; j < string.length(); j++) {
if (0 <= i - j && i + j + 1 < string.length()
&& string.charAt(i - j) == string.charAt(i + j + 1)) {
count++;
} else {
break;
}
}
}
return count+string.length();
}
2014年1月12日日曜日
SRM 604 Div2 Easy/Medum
990->1075 (+85) でした。(ベストスコア)
個人的にはchallengeも成功したので面白い回でした。
substringで並び替えて一致してるかチェックしてるだけです。
一応こうすると、文字数のチェックもしなくてもいいです。
個人的にはchallengeも成功したので面白い回でした。
SRM 604 Div2 Easy FoxAndWord
一瞬間に合うか心配でしたが、O(50^3) なので大丈夫そうです。substringで並び替えて一致してるかチェックしてるだけです。
一応こうすると、文字数のチェックもしなくてもいいです。
public int howManyPairs(String[] words)
{
int count = 0;
for (int i = 0; i < words.length; i++) {
for (int j = i + 1; j < words.length; j++) {
if (check(words[i], words[j])) {
count++;
}
}
}
return count;
}
private boolean check(String s, String s2) {
for (int i = 1; i < s.length(); i++) {
if (s2.equals(s.substring(i) + s.substring(0, i))) {
return true;
}
}
return false;
}
SRM 604 Div2 Medium PowerOfThreeEasy
3進数に直して、(途中で2の数が出てくるとダメ) ビットっぽいのを求めて
ビットが重なっているか判定して、さらにビットが連続してるかどうか見ます。
private static final String POSSIBLE = "Possible";
private static final String IMPOSSIBLE = "Impossible";
public String ableToGet(int x, int y)
{
int bitsX = get3Bits(x);
int bitsY = get3Bits(y);
if (bitsX == -1 || bitsY == -1) {
return IMPOSSIBLE;
}
if ((bitsX & bitsY) > 0) {
return IMPOSSIBLE;
}
int orBits = bitsX | bitsY;
while (orBits > 0) {
if ((orBits & 1) == 0) {
return IMPOSSIBLE;
}
orBits >>= 1;
}
return POSSIBLE;
}
int get3Bits(int num) {
int p = 0;
int result = 0;
while (num > 0) {
if (num % 3 == 2) {
return -1;
}
result |= (num % 3) << p;
num /= 3;
p++;
}
return result;
}
2014年1月11日土曜日
Android のRadioGroupは子要素のみだけGroupになる。
すごいつまづきました。
そして、不便だと思いました。
解決法などは
こちらのブログを参考してください。
AndroidのRadioGroupを改造し、子孫要素を全部グループ化できるようにした http://blog.maripo.org/2011/09/android-deep-radio-group/
そして、不便だと思いました。
解決法などは
こちらのブログを参考してください。
AndroidのRadioGroupを改造し、子孫要素を全部グループ化できるようにした http://blog.maripo.org/2011/09/android-deep-radio-group/
2014年1月7日火曜日
SRM 603 Div2 Easy/Medium
SRM 602 Div3 Easy MiddleCode
回答substringの仕様に気をつけて頑張るだけ
substring(a,b) は aからb-1 までの文字
public String encode(String s)
{
String t = "";
while (s.length() > 1) {
int mid = s.length() / 2;
if (s.length() % 2 == 1) {
t += s.charAt(mid);
s = s.substring(0, mid) + s.substring(mid + 1);
} else {
if (s.charAt(mid - 1) < s.charAt(mid)) {
t += s.charAt(mid - 1);
s = s.substring(0, mid - 1) + s.substring(mid);
} else {
t += s.charAt(mid);
s = s.substring(0, mid) + s.substring(mid + 1);
}
}
}
return t + s;
}
SRM 603 Div2 Medium SplitIntoPairs
回答なんとAを昇順にソートして、そのとなりの要素とかけてXより大きかをチェックするだけという。
あとは、オーバーフローに気をつけてlong にキャストするのは忘れずに
理由
負*負,正*正 はもちろん正になるため、普通にカウントできる
問題は
負*正 この組み合わせの時でこれがXより大きいかが問題。
ソートすると隣り合った負*正 が一番大きくなります。(絶対値が小さくなります)
これを判定するだけです。
そして、うまく組み合わせると こんなシンプルになります。
public int makepairs(int[] A, int X)
{
Arrays.sort(A);
int count = 0;
for (int i = 0; i < A.length ; i += 2) {
if ((long) X <= ((long) A[i]) * A[i + 1]) {
count++;
}
}
return count;
}
登録:
コメント (Atom)