1 void reverse(char* str, int begin, int end) 2 { 3 char temp; 4 for( ; begin < end; begin++) 5 { 6 temp = str[end]; 7 st...
分类:
其他好文 时间:
2015-05-08 20:06:15
阅读次数:
231
题意在不使用sizeof()函数的情况下,取出本机的整形所占位数,如32位、64位等。分析我看到题目后的第一思路就是统计二进制中1的个数。但是位数不确定啊,我用了0取反,然后保存的二进制就是N个1了,现在发现-1就行。用unsigned int保存,移位操作统计就好,一个字节8位,所以每次左移8位。...
分类:
编程语言 时间:
2015-05-08 16:38:27
阅读次数:
138
#include
#include
using namespace std;
bool find_str(string s1,string s2)
{
if(s1.empty()||s2.empty())
return false;
string::size_type pos=s1.find(s2);
return (pos!=string::npos)?true:false;
}
in...
分类:
其他好文 时间:
2015-05-08 14:54:42
阅读次数:
155
1. 向量循环移位
library("magic")
x
magic::shift(x,1)
# [1] 10 1 2 3 4 5 6 7 8 9
magic::shift(x,1)
# [1] 10 1 2 3 4 5 6 7 8 9
magic::shift(x,2)
# [1] 9 10 1 2 3 4 5 6 7 8
mag...
分类:
编程语言 时间:
2015-05-08 09:36:45
阅读次数:
363
题目:在整型数中只有1位是1,求1在整型数中的位置?通常,面试者给的答案是一位一位的右移,并判断是否移位后的值是1,如果是1,输出被移位的位数就是我们要的答案了。但是这并不是最优的答案,时间复杂度是O(n)。那么更好的算法是什么样的呢,其实我们可以采用二分法更高效的解决本问题,时间复杂度是O(log...
分类:
编程语言 时间:
2015-05-08 01:31:21
阅读次数:
167
lambda Lambda表达式or 布尔“或”and 布尔“与” not x 布尔“非” in,not in 成员测试 is,is not 同一性测试 ,>=,!=,== 比较 | 按位或 ^ 按位异或 & 按位与 > 移位 +,- 加法与减法 *,/,% 乘法、除法与取余 +x,-x 正负号 ~...
分类:
编程语言 时间:
2015-05-07 14:12:10
阅读次数:
238
public class Test { public static void main(String[] args) { // 1、左移( > ) 高位补符号位 // 0000 0000 0000 0000 0000 0000 0000 0101 然后右移2位,高位...
分类:
编程语言 时间:
2015-05-07 14:06:33
阅读次数:
133
描述:数组元素个数为n,右移k位,如12345,右移3位后是34512解答思路:将12345全旋转得到54321 将前3位旋转34521 将后两位旋转34512处理核心是旋转reverse(vector &nums,int begin,int end)旋转分隔点是k=k%n(k是移动...
分类:
编程语言 时间:
2015-05-07 10:22:17
阅读次数:
139
Divide two integers without using multiplication, division and mod operator.If it is overflow, return MAX_INT.解题思路:既然不呢个用乘除和取模运算,只好采用移位运算,可以通过设置一个leng...
分类:
编程语言 时间:
2015-05-04 17:20:02
阅读次数:
149
一.运算符的种类和运算规则: & 与:全1则1,有0则0 | 或:有1则1,全0则0 ^ 异或:相同为0,不同为1 ~ 取反:~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0 >右移:将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0二.各种位运...
分类:
编程语言 时间:
2015-05-03 20:20:10
阅读次数:
176