最近我遇到了這個問題,要求您返回二進制字符串中的連續數字,從左到右(如此11101001 = 3,011111 = 0,111101 = 4等)。問題在於只使用二元操作數來完成,而沒有任何循環。 在網上看了一下(感謝谷歌)後,我發現有人想出了這個解決方案,並希望更好地幫助理解它。 int leftBitCount(int x) {
int v = x;
int r; // st
我發現自己需要更新一個布爾變量,當第一次發生的事情(和只有然後)。使用var = not var是不可能的,因爲它每次都會繼續觸發。 (對不起,我傻傻的例子,我在努力尋找一種更明智的...) inner_has_been_two = False
for outer in range(5):
for inner in range(3):
if inner == 2: